swift - gratis - google analytics ios
Swift 2/iOS 9-libz.dylib no encontrado (8)
Estoy usando algunos códigos externos de google en mi nuevo proyecto Swift 2.0 que requería "libz.dylib" en versiones anteriores. Después de actualizar al nuevo XCode / el nuevo SDK.
XCode ahora no puede importar libz.dylib y arroja algunos errores
Símbolos indefinidos para la arquitectura i386: "_deflate", referenciada desde: + [GAICompressionUtil gai_dataByCompressingBytes: length: compressLevel: mode:] in libGoogleAnalyticsServices.a (GAICompressionUtil.o) "_deflateEnd", referenciada desde: + [GAICompressy: Gai-compresión: modo:] en libGoogleAnalyticsServices.a (GAICompressionUtil.o) " deflateInit2 ", referenciado desde: + [GAICompressionUtil gai_dataByCompressingBytes: length: compressLevel: mode:] en libGoogleAnalyticsServices.a (GAICompressionUtil.o) "_inf: [+" gai_dataByInflatingBytes: length: isRawData:] en libGoogleAnalyticsServices.a (GAICompressionUtil.o) "_inflateEnd", referenced from: + [GAICompressionUtil gai_dataByInflatingBytes: length: isRawData :.Inc. [GAICompressionUtil gai_dataByInflatingBytes: length: isRawData:] en libGoogleAnalyticsServices.a (GAICompressionUtil.o) ld: symbol ( s) no encontrado para la arquitectura i386 clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación)
Al mirar a través de los paquetes disponibles en la configuración de "fase de compilación", puedo encontrar "libz.tbd", que parece ser el reemplazo de libz.dylib. Al importar esta lib, el error del enlazador permanece igual pero recibo esta advertencia adicional:
advertencia: omitiendo el archivo ''/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/lib/libz.tbd'' (tipo de archivo inesperado ''texto'' en Fase de construcción de marcos y bibliotecas)
¿Alguna idea de qué hacer?
Elimine todas las bibliotecas dinámicas (dylib) de la fase de vinculación con binarios. Encontrará estas bibliotecas por sí solo.
Mientras tanto, puede usar el SDK anterior. Esta es mi respuesta para libsqlite3:
https://.com/a/30981161/627794
Editar: (contenido del enlace agregado)
Abra la terminal, escriba (cambie a la biblioteca que desee, por ejemplo, libz)
locate libsqlite3.dylib
Encontrarás varios archivos como estos:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libsqlite3.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libsqlite3.dylib
Vaya a la configuración de su proyecto -> Fases de construcción -> Enlace con binarios.
Agregue AMBOS archivos haciendo clic en
+
, luego
Add Other
.
Presiona
Cmd-Shift-G
y copia y pega la ruta del archivo.
Haz clic en
Open
.
Si instala sqlite3 usando macports, elimine
/opt/local/lib
de la Ruta de búsqueda de la biblioteca en Configuración de compilación.
Puede agregar libz.1.dylib desde la ubicación: / usr / lib /
- Vaya a Fases de construcción> Enlace binario con bibliotecas> +> Agregar otro
- Una vez en la ventana de selección de archivos, haga CMD + Shift + G (Ir a la carpeta) y escriba / usr / lib /
- Desde / user / lib puede agregar: libz.1.dylib
A mi me funciono.
También puede agregar
lybz.dylib
desde
"Otros indicadores de
lybz.dylib
"
en la
Configuración de compilación
agregando el argumento
-lz
.
Tuve que hacer esto porque, usando el método en el que hace referencia a la biblioteca desde / usr / lib, cuando implementé mi aplicación en nuestros probadores, la biblioteca .dylib no se pudo resolver y la aplicación se bloqueó al iniciarse.
Tengo este problema en Objective-c project.ios9.1, xcode7.1
1.Vaya a Target> Fases de construcción> Enlace binario con bibliotecas> +
2. Seleccione libz.tbd y agréguelo
Funciono para mi
Yo tuve el mismo problema. Encontré algún tipo de camino.
- Vaya a Fases de construcción> Enlace binario con bibliotecas> +> Agregar otro
- Una vez en la ventana de selección de archivos, haga "CMD" + Shift + G (Ir a la carpeta) y escriba / usr / lib /
- Desde / usr / lib puede agregar: libz.dylib y más ...
- Compila y diviértete
libz.dylib ahora se encuentra en la cita libz.tbd de los foros de desarrolladores de Apple :
Para aquellos que tienen curiosidad, los archivos .tbd son nuevas "bibliotecas de código auxiliar basadas en texto", que proporcionan una versión mucho más compacta de las bibliotecas de código auxiliar para usar en el SDK y ayudan a reducir significativamente el tamaño de descarga.
Esperemos que pronto llegue más documentación.
editar
Para aclararlo, citaré la respuesta de Guitz con el Contenido actualizado
- Vaya a Fases de construcción> Enlace binario con bibliotecas> +> Agregar otro
- Una vez en la ventana de selección de archivos, haga "CMD" + Shift + G (Ir a la carpeta) y escriba / usr / lib /
- Desde / user / lib puede agregar: libz.tbd y más ...
- Compila y diviértete
libz.dylib es la lib dinámica para Zlib. Puede instalar Zlib desde aquí http://zlib.net/