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
demodule_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 establecerrecursive
(/**
se agregará al final de la ruta). Por ejemplo, puede profanar unapath
al directorio deBuild
con un parámetrorecursive
. - 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.