xcode - how - Archivo Crashlytics no encontrado
how to add crashlytics in swift (12)
Recientemente abrí un proyecto que había compilado y enviado a Apple.
No lo he tocado por un par de meses, pero estoy obteniendo este extraño error de compilación en:
#import <Crashlytics/Crashlytics.h>
El error dice:
''Crashlytics/Crashlytics.h'' file not found
Claramente, no se puede encontrar el marco, pero estoy desconcertado sobre por qué, cuando el proyecto estuvo funcionando hace unos meses, se detuvo de repente.
Alguna sugerencia por qué?
Xcode: 4.6.3 Mac OS X: 10.8.4
- Elimine por completo los marcos de Crashlytics en su proyecto e incluya el script de shell en el script de ejecución de las fases de compilación de la aplicación.
- Reinstale el tejido siga la guía, todo estará bien.
Borre los marcos de su proyecto y disco. Compruebe que tiene la última versión del complemento Fabric.
Copie los marcos de la carpeta del complemento al escritorio con estos comandos:
ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/com.twitter.crashlytics.ios-default.zip ~/Desktop/
ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/io.fabric.sdk.ios-default.zip ~/Desktop/
Agregue marcos desde el escritorio a su proyecto.
Información de: https://twittercommunity.com/t/error-upgrading-from-crashlytics-on-ios/36196/2
Cambié el nombre de la carpeta de trabajo y Craslytics falla. Verifique esto en Configuraciones de compilación (Rutas de búsqueda).
¡Buena suerte!
Elimine Crashlytics.framework del proyecto y el disco . Copie y agréguelo nuevamente. Me ayudó.
En mi caso, el Framework estaba en la carpeta del proyecto, pero no en el Project Navigator. Lo arrastré al proyecto y todo funcionó bien.
En mi caso, estaba migrando de una antigua instalación de Crashlytics a través de la aplicación Mac a Cocoapods. Muchas de las respuestas a esta pregunta recomiendan eliminar por completo todo y empezar de nuevo. Empecé a hacer esto y noté una discrepancia entre el código que se encuentra en la documentación de Fabric y el código que se muestra en la aplicación Fabric durante el paso donde le dice qué copiar en la fase de compilación de Run Script.
La documentación de Fabric tiene comillas dobles que rodean toda la cadena: "${PODS_ROOT}/Fabric/Fabric.framework/run <Your_API_Key> <Your_Build_Secret>"
La aplicación Fabric solo tenía comillas dobles alrededor de la ruta al ejecutable ejecutable: "${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>
Por lo tanto, antes de eliminar todo y comenzar de nuevo, intente actualizar su Fase de compilación Ejecutar script a este:
"${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>
He intentado jugar con la ruta de búsqueda de frameworks y reubicar y volver a conectar el archivo de framework; verificó la configuración de compilación (enlace binario con la sección de bibliotecas) pero el error persistió.
Finalmente, he reinstalado el marco, que solo toma 2-3 minutos. El problema puede deberse a que ha reubicado el Crashlytics.framework en otra subcarpeta del directorio raíz, pero no estoy seguro del motivo exacto.
- Eliminar todo lo relacionado con Crashlytics
- Inicie la aplicación crashlytics, inicie sesión y seleccione su proyecto
- Añadir script de ejecución
- Arrastra y suelta el archivo .framework (lo he guardado en la carpeta raíz)
- Agregue las instrucciones
import
estartWithAPIKey
He tenido este problema trabajando con equipos distribuidos (a través de github) después de registrarme y luego revisar Crashlytics
. El Crashlytics.framework
solo tendrá una carpeta dentro: "Versiones". Crashlytics.framework
guardar una versión de los contenidos dentro de Crashlytics.framework
en otra ubicación, luego copiarlos y pegarlos en Crashlytics.framework
más adelante.
Me había actualizado anteriormente a Fabric y no tuve problemas. Un par de días más tarde, volví a abrir el mismo proyecto y tenía el problema del archivo crashlytics.h faltante.
No pude simplemente reinstalar desde el complemento debido a un proyecto que no compila (tenía tantos mensajes CLS_LOG y referencias al archivo crashlytics.h que faltaba en mi proyecto, me hubiera llevado mucho tiempo eliminarlos solo para permitir la compilación para trabajar - refactor no funcionaría en CLS_LOG).
Entonces, en su lugar, eliminé el marco crashlytics.framework de mi proyecto e hice lo siguiente para restablecerlo desde el complemento directamente:
Descargue el complemento Fabric nuevamente y haga doble clic en el archivo zip para descomprimir la aplicación Fabric.
Haga clic derecho en el icono de la tela y "Mostrar contenido del paquete"
Copie la carpeta Crashlytics.framework en su escritorio y luego vuélvala a agregar a su proyecto a través de Archivo -> Agregar archivos a ...
Si el paso 3 no funciona para usted, también puede agregar crashlytics.framework directamente a su carpeta de proyectos en su computadora y luego agregarlo a su lista de proyectos a través de Xcode igual que en el paso 3, pero desmarque "Copiar elementos si es necesario". como usted ya colocó los archivos allí usted mismo.
Mi proyecto luego compilado y funcionó bien de nuevo.
En términos de una suposición de por qué el archivo desapareció? Parte del proceso de actualización me llevó a eliminar los viejos marcos y luego ejecutar los scripts, etc. desde el complemento. Creo que lo que sucedió es más tarde cuando vacié mi basura, que algunas referencias se perdieron. También tuve el problema de colocar Crashlytics en mi archivo .gitignore, por lo que desapareció de TODOS mis proyectos, cada uno comprometido, lo que no era genial.
¡Espero que esto ayude a alguien!
Para mí, esto funcionó:
Elimine los frameworks de fabric y crashlytics de su proyecto y elimine los archivos del disco para nuestro proyecto.
Comente las líneas en su archivo appdelegate.m
, si las agregó para lo siguiente:
import Fabric/Fabric.h
import Crashlytics/Crashlytics.h
y
[Fabric with:@[CrashlyticsKit]];
En la aplicación de tela, elija "Nueva aplicación" y seleccione su archivo de proyecto de Xcode
Vuelva a copiar el script de compilación y compile como se le indicó. El paso de compilación es por qué necesitabas comentar las líneas de arriba, no funcionará si dejas esas líneas.
Después de ejecutar el script de compilación, le pedirá que arrastre los marcos desde la ventana de la aplicación al navegador del proyecto. Esto copiará las últimas versiones de los marcos (que incluyen los archivos .h) en su proyecto.
Intenté descargar manualmente y copiar desde otros proyectos, pero esta es la única forma en que podría recuperarme después de perder los archivos de marcos para una aplicación.
Recomiendo solo usar CocoaPods para agregar el marco Crashlytics. Ya no es necesario preocuparse por los caminos.
Podfile:
pod ''Crashlytics'', ''~> 3.4.1''
Fase de compilación de scripts para la carga dSYM:
./Pods/Crashlytics/iOS/Crashlytics.framework/run <your_crashlytics_id>
Importar:
#import <Crashlytics/Crashlytics.h>
Simplemente agregue $(SRCROOT)
a las rutas de búsqueda del marco en la configuración de compilación del proyecto (rutas de búsqueda).
El proceso de instalación de Crashlytics deja caer su Crashlytics.framework
a su carpeta de proyecto (o crea el enlace simbólico).
Si movió Crashlytics.framework a un lugar más profundo en la jerarquía de la carpeta del proyecto, establezca ''recursivo'' a la derecha o simplemente señale directamente a su carpeta principal en las Header Search Paths
:
$(SRCROOT)/Path/to/the/folder/containing/Crashlytics.framework