started mac how ios xcode crashlytics

ios - mac - how to add crashlytics in swift



¿Qué está causando esta advertencia de compilación de Crashlytics?(La opción de enlace de marco ''...'' suministrada por Auto-Linking en ''...'' no es un dylib) (6)

Compilar mi objetivo principal (no un objetivo de prueba como here ) produce este error:

ld: warning: Auto-Linking supplied ''~/Documents/my_app/MyApp/Crashlytics.framework/Crashlytics'', framework linker option at ~/Documents/my_app/MyApp/Crashlytics.framework/Crashlytics is not a dylib

De este comando de compilación:

Ld /Build/Products/Debug-iphonesimulator/MyApp.app/MyApp normal i386 cd ~ / Documents / my_app / MyApp export IPHONEOS_DEPLOYMENT_TARGET = 8.0 export PATH = "/ Applications / Xcode.app / Contents / Developer / Platforms / iPhoneSimulator.platform / Desarrollador / usr / bin: /Applications/Xcode.app/Contents/Developer/usr/bin: / usr / bin: / bin: / usr / sbin: / sbin "/Applications/Xcode.app/Contents/Developer/Toolchains/ XcodeDefault.xctoolchain / usr / bin / clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk -L ~ / Library / Developer / Xcode / DerivedData / MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm / Build / Products / Debug-iphonesimulator -F ~ / Library / Developer / Xcode / DerivedData / MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm / Build / Products / Myf -fp / Myfile / Myfile / My / App / My / / /Developer/Xcode/DerivedData/MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/MyApp -linFile ker -rpath -Xlinker @ ejecutable_path / Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-CocoaLumberjack -lPods-Mantle -framework CFNetwork -framework Foundation -framework Security -framework SystemConfiguration -fobjc-arc-link-fox -no_implicit_dylibs -mios-simulator-version-min = 8.0 -framework CoreGraphics -lPods -framework MapKit -framework Fabric -lPods-MyApp -Xlinker -dependency_info -Xlinker ~ / Library / Developer / Xcode / DerivedData / MyApp-dbmrsmwc /MyApp. MyApp


A la inversa de lo que menciono I''L''I y user3517250, el problema también podría ser que tengas #import declaraciones de #import que no deberían estar allí.

Xcode deduce los marcos para vincular desde las declaraciones #import . Si importa un marco con el que no se vincula, recibirá esta advertencia.



Seguí todos los pasos proporcionados por @ i''L''i pero no pude encontrar el archivo Crashlytics.framework y Fabric.framework en las fases de compilación.

Entonces esto me ayudó.

Paso 1: siga todos los pasos dados Here.

Paso 2: Ahora, cuando no pueda encontrar los archivos Crashlytics.framework y Fabric.framework en Link Binary With Libraries haga clic en + hacer lo siguiente.

2.1: Haga clic en el botón + en Link Binary With Libraries .
2.2: Haga clic en el botón Add Other...
2.3: Ahora elija Crashlytic.framework y Fabric.framework de la carpeta Pod : si usa cocoapods, de lo contrario, elija ambos archivos desde donde lo descargó.

Paso 3: Construir con éxito, disfrutar. :)


Tuve el mismo problema pero mi razón era diferente.

Salida de error

ld: advertencia: Auto-Linking suministrado ''~ / GameFolder / Pods / Fabric / tvOS / Fabric.framework / Fabric'', opción de enlace de marco en ~ / GameFolder / Pods / Fabric / tvOS / Fabric.framework / Fabric no es un dylib Indefinido símbolos para la arquitectura x86_64: "_OBJC_CLASS _ $ _ Answers", referenciada desde: type metadata accessor para __ObjC.Answers in GameScene.o type metadata accessor for __ObjC.Answers in AppDelegate.o "_OBJC_CLASS _ $ _ Crashlytics", referenciada desde: typej .Crashlytics en AppDelegate.o "_OBJC_CLASS _ $ _ Fabric", referenciado desde: tipo de acceso a metadatos para __ObjC.Fabric en AppDelegate.o ld: símbolo (s) no encontrado (s) para arquitectura x86_64 clang: error: el comando del enlazador falló con el código de salida 1 (uso -v para ver la invocación)

Razón

  • Mi objetivo OTHER_LDFLAGS las OTHER_LDFLAGS .

Solución

  • Se cambiaron los OTHER_LDFLAGS para simplemente heredar las banderas de Linker. Básicamente, lo cambié a $(inherited)

Yo tuve el mismo problema. Tal vez estropeé la instalación inicial de Fabric pero una vez que agregué Fabric.framework a la lista de frameworks (debería estar en la carpeta raíz de su aplicación por defecto) todo funcionó.


El eslabón perdido:

Este error casi siempre se produce al no tener el binario vinculado a la biblioteca (en este caso sería el Crashlytics.framework ):

Intentar construir el MyApp destino (que incluye encabezados con #import <Crashlytics/Crashlytics.h> producirá el error:

ld: advertencia: Auto-Linking suministrado ''../../Crashlytics.framework/Crashlytics'', la opción de enlace de marco en ../../Crashlytics.framework/Crashlytics no es un dylib

Enlace el marco:

Afortunadamente, debería ser fácil solucionar el problema simplemente arrastrando Crashlytics.framework desde la carpeta Frameworks en el navegador de proyectos a la lista de Link Binary With Libraries o usando el + .

  • Asegúrese de tener su aplicación seleccionada / resaltada en Objetivos mientras realiza este proceso.