videos requiere proyectos proyecto memoria mas los liberar guardan guarda grabar finalizar finalizados externo espacio donde disponible disco deja compartir como biblioteca ios xcode ios4 static-libraries objective-c++

requiere - ¿Cómo puedo crear una biblioteca estática y puedo agregar solo un archivo.a en cualquier proyecto en iOS?



imovie liberar espacio (3)

¿Cómo puedo crear una biblioteca estática y puedo agregar solo un archivo .a en cualquier proyecto en iOS?

Intenté hacer esto pero no pude hacerlo.

Gracias por adelantado


si desea crear una biblioteca estática, consulte el enlace http://jaym2503.blogspot.in/2013/01/how-to-make-universal-static-library.html

Paso 1: Crear un nuevo proyecto, denominado "Logger"

Paso 2: Crear clases

Puede crear tantas clases como desee. En nuestro tutorial crearemos una clase llamada "Logger". Entonces, ahora dos archivos deberían estar en nuestro recurso. 1. Logger.h 2. Logger.m

Paso 3: Poner un código útil en las clases

Paso 4: Crear nuevo objetivo

Crear nuevo destino desde el menú Archivo.

Nueva biblioteca estática Target Select Cocoa Touch

Paso 5: Agregar archivos para compilar recursos

Seleccione "Logger" Destino de la biblioteca estática Vaya a la sección Construir fases en fuentes completadas, agregue todos los archivos .m y .mm. En la sección Copiar archivos, agregue todos los archivos .h y los archivos de recursos.

Construir fases

Paso 6: Compilar proyecto con objetivo de biblioteca estática

Compilar proyecto para dispositivo iOS Compilar proyecto para simulador Puede encontrar dos archivos .a diferentes generados en las carpetas de compilación.

Encuentra el archivo .a

Paso 7: Hacer la biblioteca estática universal

Puede encontrar dos bibliotecas diferentes ahora, una es para simulador y la otra para dispositivos iOS.

Cree una nueva carpeta y llámela LoggerMerge. Copie el archivo libLogger.a de la carpeta Debug-iphoneos a "LoggerMerge" cambie su nombre a libLogger_device.a Copie el archivo libLogger.a de la carpeta Debug-iphonesimulator "LoggerMerge" cambie el nombre a libLogger_simulator.a. crear " libLogger_simulator.a " " libLogger_device.a " -output " libLogger.a "

Ahora, puede encontrar libLogger.a en la carpeta LoggerMerge, este es el archivo de biblioteca estática universal. Ahora, solo una cosa que necesita son los encabezados. Vea la captura de pantalla anterior que hay una carpeta llamada incluir en ambas carpetas de compilación. Sólo tienes que copiar el archivo de encabezado de esta carpeta.

Paso 8: Prueba la biblioteca estática

Cree un nuevo proyecto, asígnele el nombre TestLogger Importe libLogger.a y los archivos de encabezado Importe el archivo del encabezado " Logger.h " en cualquier lugar que desee usar Ahora, use esta clase de registrador como práctica predeterminada. En nuestro caso, [Logger log: @ "Test String"]; Ejecutar proyecto en simulador y dispositivo tanto eso es todo !! Tienes tu propia biblioteca estática!


Objective-C consumer -> biblioteca estática Objective-C

Xcode versión 10.2.1

Cree una biblioteca estática de Objective-C o cree una biblioteca estática de Objective-C

Crear un proyecto de biblioteca.

File -> New -> Project... -> Cocoa Touch Static Library -> Enter necessary information and choose Language -> Objective-C

Crear module.modulemap archivo

module module_name { umbrella header "module_name-umbrella.h" export * }

Agregue archivos .h al module_name-umbrella.h que estarán abiertos para el consumidor

#import "header_1.h" #import "header_2.h"

Agregar Copia de Fase de Construcción

Project editor -> select a target -> Build Phases -> Copy Files -> add `module.modulemap`, `module_name-umbrella.h`

Añadir encabezados

Project editor -> select a target -> Build Phases -> Headers(If it doesn''t exist -> + at the top -> New Headers Phase) -> add all `.h` files from `module_name-umbrella.h`(`header_1.h`, `header_2.h`)

Construir biblioteca

Nota: asegúrese de crear una biblioteca para la misma arquitectura de proceso que el código del cliente.

Encuentra salida generada

Products group -> lib<module_name>.a -> Show in Finder

Nota: de forma predeterminada, se ubicará en la subcarpeta de la carpeta DerivedData (se puede cambiar si elimina DerivedData durante el proceso de desarrollo y lo reconstruye nuevamente).

El directorio incluye

  • lib<module_name>.a - biblioteca estática construida
  • module.modulemap archivo
  • archivo module_name-umbrella.h
  • usr/local/include carpeta que incluye archivos .h de module_name-umbrella.h - interfaces / definiciones públicas

Usando la librería estática Objective-C

Link Binary With Libraries

Project editor -> select a target -> Build Phases -> Link Binary With Libraries -> add -> Add Others... -> point to `lib<module_name>.a` file

Añadir Library Search paths

Project editor -> select a target -> Build Settings -> Search Paths -> Library Search paths -> add path to the parent of `lib<module_name>.a` file

Añadir Header Search Paths

Project editor -> select a target -> Build Settings -> Search Paths -> Header Search Paths -> add path to generated `include` folder (or a path to the parent of generated `module_name` folder with `.h` files)

  • Cuando establece una path , puede definir una ruta a una de las carpetas principales y establecer recursive ( /** se agregará al final de la ruta). Por ejemplo, puede profanar una path al directorio de Build con un parámetro recursive .
  • Si el patch contiene espacios - , deberías escapar de ellos usando / o encerrar la ruta entre comillas dobles ""

Módulo de importación al código de cliente de Objective-C

@import module_name;

Swift consumer -> Swift static library

Swift consumer -> Objective-C static library

Objective-C consumer -> Swift static library


Paso 1: Iniciar un nuevo proyecto de biblioteca estática

Abre XCode y comienza un nuevo proyecto. En iOS, seleccione Biblioteca y "Biblioteca estática de Cocoa Touch", díganlo como "biblioteca estática". Esto creará un nuevo proyecto agradable para nosotros que construye un archivo .a .

Paso 2: Codifica tu biblioteca estática Primero necesitamos agregar algunos archivos. Agregue una nueva subclase de NSObject a su proyecto y asígnele el nombre StaticClass. Luego escriba un código útil en esos archivos.

Paso 3: Construir y distribuir su biblioteca Una vez que esté satisfecho con su biblioteca, simplemente compile en XCode. Obviamente, no compile y ejecute, ya que no puede ejecutarlo (de nuevo a menos que tenga un conjunto de prueba). Ahora, busque en el grupo Productos en XCode y debería ver un archivo llamado lib (libraryName) .a. En nuestro caso, es libstaticlibrary.a .

Haga clic derecho en ese archivo y seleccione "Reveal In Finder". Arrastre este archivo a una nueva carpeta que cree, donde agrupará todos los archivos de su biblioteca. Ahora, haga lo mismo con todos los archivos .h. En nuestro caso, simplemente copie StaticClass.h en este nuevo directorio. La estructura de su directorio ahora debería verse como:

FolderName |- libstaticlibrary.a |- StaticClass.h

¡Ahora puede comprimir esta carpeta y venderla a posibles desarrolladores de iOS por millones!

Paso 4: vincular su biblioteca en un nuevo proyecto Así que ahora que ha creado su nueva biblioteca estática, es hora de probarlo en otra aplicación.

Cree un nuevo proyecto basado en la vista (o lo que realmente no importa). Nómbrelo como prueba.

Ahora, simplemente arrastre esta carpeta al proyecto y XCode configurará todo el enlace automáticamente. Cuando se me pide que copie, generalmente le digo que sí, pero puede hacer lo que quiera dependiendo de cómo pretenda usar la biblioteca. A veces, solo vincular y no copiar es mucho más beneficioso si tiene varios proyectos que comparten una sola biblioteca. Asegura que todos usen la versión más actualizada.

Ahora debería ver el archivo .a junto con los archivos de encabezado en el nuevo proyecto.

Paso 5: Usar el código de la biblioteca estática

Ahora que todos los enlaces están configurados, solo usas tu biblioteca como cualquier otra clase.

Para más aclaraciones http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial espero que este tutorial le sirva de ayuda.