iphone - developer - ¿Puedo desarrollar mi propio Framework Object-C para aplicaciones Cocoa Touch?
swift documentation (9)
Al crear un nuevo proyecto, navegue a iOS> Framework & Library> Cocoa Touch Framework, es así de simple. Cuando haya compilado correctamente, .framework se creará en la carpeta Productos en XCode. Haga clic derecho para mostrar en el Finder, y puede encontrar la salida.
¿Es posible crear un marco de trabajo propio Cocoa Touch de obj-C que pueda ser utilizado por otros desarrolladores? ¿Y además puedes proteger este marco?
Eche un vistazo a un ejemplo funcional de las bibliotecas estáticas que se ofrecen en este sitio.
Es poco probable que esto funcione de la manera que usted quiere, porque los otros desarrolladores no podrán usar su marco. Esta pregunta de explica por qué.
He creado plantillas para Xcode 4 que te permiten construir marcos universales de iOS (que funcionan tanto en el dispositivo como en el simulador).
Una vez que las plantillas están instaladas, simplemente selecciona "Static iOS Framework" al crear un nuevo proyecto y se hace el resto. También funciona con pruebas unitarias.
Los marcos en Objective C son típicamente solo código C / ObjC y un montón de clases, nada sorprendentemente especial. Como tal, puede crear el suyo propio si lo desea, y luego incluirlo en su proyecto cuando lo construya. Al iPhone no le importa la diferencia, solo sabe poner todo ese código en tu aplicación, junto con todo lo demás.
Eche un vistazo a la Guía de programación de Framework en el sitio web de Apple. Te ayudará a empezar. Esencialmente, lo que harás es crear un proyecto de Framework en XCode y luego ir desde allí.
En cuanto a "proteger" su marco, supongo que quiere decir que su código sea ilegible. No estoy seguro de si y cómo puedes hacer esto, pero quizás la guía de Apple dirá algo al respecto.
Podría hacer que una biblioteca estática esté disponible como binario (es decir, "protección" rudimentaria) para terceros, pero no dinámica, ya que la política de la App Store de Apple impide la vinculación dinámica.
Puede crear una biblioteca estática. Hay una opción en el selector de proyectos XCode para hacer esto. Tendrá que distribuir el archivo de la biblioteca estática compilada y los archivos de encabezado a los usuarios de su biblioteca. Sus archivos de implementación reales (.m) no necesitan ser distribuidos.
GHUnit hace un buen trabajo al empaquetar las bibliotecas para el simulador y el dispositivo, por lo que recomiendo mirar este proyecto. (También recomiendo usar esta biblioteca para pruebas unitarias :-)
Sí, puedes crear marcos para usar con Cocoa Touch.
Sin embargo existen estas advertencias:
- tiene que ser un libary estáticamente vinculado, sin carga dinámica (dyld) para nosotros
- debe ser una biblioteca (lipo) combinada para i386 (simulador), arm6 y arm7
- Necesitas hackear un proyecto de paquete en un framework
- debe incrustar (pequeñas y pocas) imágenes en la biblioteca para que el desarrollador no tenga que perder los recursos, sino que solo arrastre y suelte en su proyecto.
- ... o si tiene imágenes grandes y muchas, cree un paquete con estas
Tengo guías para estas cosas en mi sitio.
1 + 2 = http://www.drobnik.com/touch/2010/04/universal-static-libraries/
Los otros enlaces que tiene para google porque este sitio no me permite publicar más de una URL.
Si vas a hacerlo, en mi opinión, JSON.framework es un gran ejemplo a seguir. Ocultar / ofuscar el código fuente es una historia diferente y una pregunta completamente diferente.