¿Es posible crear un framework obj-C Cocoa Touch propio que pueda ser utilizado por otros desarrolladores? Y además, ¿puedes proteger este marco?¿Puedo desarrollar mi propio objetivo C Framework para aplicaciones Cocoa Touch?
Respuesta
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 "Marco de iOS estático" cuando crea un nuevo proyecto y hace el resto. También funciona con pruebas unitarias.
Gracias por tal solución, me ahorró algo de tiempo. –
¡También he usado esta plantilla y funciona muy bien! – MortenHN
No es compatible con xcode4.5. – user501836
Los marcos en Objective C son típicamente solo código C/ObjC y un grupo de clases, nada increíblemente especial. Como tal, puede crear uno propio si lo desea, y luego simplemente incluir eso en su proyecto cuando lo construya. Al iPhone no le importa la diferencia, solo sabe poner todo ese código en su aplicación, junto con todo lo demás.
Eche un vistazo a Framework Programming Guide en el sitio web de Apple. Te hará comenzar. 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 es ilegible. No estoy seguro de cómo y cómo puede hacer esto, pero tal vez la guía de Apple diga algo al respecto.
Puede hacer que una biblioteca estática esté disponible como binaria (es decir, una "protección rudimentaria") para terceros, pero no una dinámica, ya que la política de Apple App Store 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. Deberá distribuir el archivo compilado de la biblioteca estática 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 en esto - empaqueta las librerías tanto para el simulador como para el dispositivo - así que recomiendo mirar este proyecto. (También recomiendo usar esta biblioteca para pruebas unitarias :-)
Como otro ejemplo, la variante Cocoa Touch de Core Plot se compila como una biblioteca estática: http://code.google.com/p/core-plot/ –
Si va a hacerlo, en mi opinión, JSON.framework es un excelente ejemplo a seguir. Ocultar/ofuscar el código fuente es una historia diferente, y una pregunta completamente diferente,
Es poco probable que esto funcione de la manera que desee porque los otros desarrolladores no podrán usar su marco. This StackOverflow Question explica por qué.
Está asumiendo que una infraestructura implica automáticamente el uso de una biblioteca dinámica que es incorrecta. Puede construir un marco alrededor de una biblioteca estática (universal), por lo tanto, realmente funciona perfectamente bien. – Till
Tome un vistazo a un ejemplo práctico para las bibliotecas estáticas dadas en this site
Sí que se pueden crear marcos para su uso con Cocoa Touch.
Sin embargo, existen estas salvedades:
- tiene que ser un libary enlazado estáticamente, sin carga dinámica (dyld) para nosotros
- debe ser una biblioteca combinada (lipo) para i386 (simulador), ARM6 y arm7
- necesita hackear un proyecto de paquete en un marco
- debe incrustar (pequeñas y pocas) imágenes en la biblioteca para que el desarrollador no tenga que perder el tiempo con recursos, simplemente arrastra proyecto
- ... o si tiene imágenes grandes y muchas compilar un paquete con estos
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 hay que Google porque este sitio no me deja publicar más de una URL.
Te permite publicar más de una URL. – Brandon
con swift no podemos crear una biblioteca estática, la única sería crear un framework.so framework es básicamente una colección de bibliotecas estáticas y dinámicas, pero la biblioteca dinámica no debería usarse ya que el enlace dinámico se opone a las reglas de apple. en el marco tiene que contener una biblioteca estática es bastante contradictorio. –
Al crear un nuevo proyecto, vaya a iOS> Marco & Biblioteca> Cocoa Touch marco, es tan simple como eso. Cuando se compila con éxito, se creará .framework en la carpeta Products en XCode. Haga clic derecho para mostrar en Finder y podrá encontrar el resultado.
- 1. ¿Cómo puedo 'separarme' de Cocoa y desarrollar aplicaciones Mac OpenGL en C/C++?
- 2. Ad framework para aplicaciones Cocoa (Mac)?
- 3. ¿Puedes desarrollar aplicaciones nativas para iPhone en Ruby?
- 4. ¿Hay una función conveniente en objetivo-c/cocoa-touch para encontrar el número más bajo?
- 5. Cocoa-Touch - Delegación confusión
- 6. Generación de tonos en Cocoa Touch
- 7. Girar UIView en Cocoa Touch
- 8. Programación de aplicaciones web con objetivo-c?
- 9. ¿Puedo escribir aplicaciones iOS (Cocoa) en JavaScript?
- 10. ¿Puedo desarrollar aplicaciones Blackberry usando C# .NET en windows7
- 11. Escribiendo mi propio compilador C++
- 12. Plantilla "Cocoa Touch Application" de Xcode 3.1.1
- 13. ¿Cómo puedo crear mi propio archivo vsdoc.js para mi JavaScript?
- 14. ¿Crear mi propio instalador desde C#?
- 15. Cocoa Touch - ¿Agregar un UIImageView programáticamente?
- 16. ¿Cacao u objetivo C?
- 17. ¿puedo desarrollar aplicaciones de Android usando gwt?
- 18. Construyendo propio framework php
- 19. Aplicaciones web: ¿a framework o no a framework?
- 20. ¿Existe un marco multiplataforma para desarrollar aplicaciones de iPhone/Android?
- 21. Delegados vs. eventos en Cocoa Touch
- 22. Cómo puedo crear Objective-C Framework para iOS Aplicación
- 23. ¿Tiene sentido aprender primero Cocoa para Leopard y luego Cocoa Touch para iPhone?
- 24. Desarrollando mi propio CMS
- 25. drawrect Vs layoutsubviews - NSView - Cocoa touch
- 26. Librería de código abierto Cocoa/Cocoa-Touch POP3/SMTP?
- 27. ¿Puedo crear mi propio certificado digital en C# o Windows?
- 28. Objetivo C Introspección/Reflexión
- 29. ¿Qué herramientas usas para desarrollar aplicaciones C++ en Linux?
- 30. Cocoa-Touch: performSelectorOnMainThread: comportamiento extraño + crash
protegerlo de qué? –
Polvo y huellas dactilares. – mipadi