メインターゲット( here などのテストターゲットではない)をコンパイルすると、次のエラーが発生します。
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
このビルドコマンドから:
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/Developer/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/Debug-iphonesimulator/F〜/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Developer/Xcode/DerivedData/MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/MyApp.LinkFileList -Xlin ker -rpath -Xlinker @ executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-CocoaLumberjack -lPods-Mantle -framework CFNetwork -framework Foundation -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-シミュレータバージョン分= 8.0 -framework CoreGraphics -lPods -framework MapKit -frameworkファブリック-lPods-のMyApp -Xlinker -dependency_info -Xlinker〜/ライブラリ/開発/ Xcodeの/ DerivedData/MyAppに-dbmrsjmskpqxmnegayfzfxgcwvsm /ビルド/中間体/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/MyApp_dependency_info.dat -o〜/ Library/Developer/Xcode/DerivedData/MyApp-dbmrsjmskpqxmnegayfzfxgcwvsm/Build/Products/Debug-iphonesimulator/MyApp.app/MyApp
ミッシングリンク:
このエラーは、ほとんどの場合、ライブラリにリンクされたバイナリがないことによって生成されます(この場合、Crashlytics.framework
になります)。
ターゲットMyApp
(#import <Crashlytics/Crashlytics.h>
のヘッダーを含む)をビルドしようとすると、エラーが生成されます。
ld:警告:提供された自動リンク '../../Crashlytics.framework/Crashlytics'、../../Crashlytics.framework/Crashlyticsのフレームワークリンカーオプションはdylibではありません
フレームワークをリンク:
幸いなことに、プロジェクトナビゲータのFrameworks
フォルダからCrashlytics.framework
のリストにLink Binary With Libraries
をドラッグするか、+
を使用するだけで、問題を簡単に修正できます。 。
私は同じ問題を抱えていたが、私の理由は異なっていた。
ld:警告:自動リンクが提供されます '〜/ GameFolder/Pods/Fabric/tvOS/Fabric.framework/Fabric'、〜/ GameFolder/Pods/Fabric/tvOS/Fabric.framework/Fabricのフレームワークリンカーオプションはdylib Undefinedではありませんアーキテクチャx86_64のシンボル:「_OBJC_CLASS _ $ _ Answers」、参照元:GameScene.oの__ObjC.AnswersのタイプメタデータアクセサーAppDelegate.oの__ObjC.Answersのタイプメタデータアクセサー「_OBJC_CLASS _ $ _ Crashlytics」、参照元:__ObjCのタイプメタデータアクセサー.CrashlyticsのAppDelegate.o "_OBJC_CLASS _ $ _ Fabric"から参照:AppDelegate.oの__ObjC.Fabricの型メタデータアクセサーld:シンボルがアーキテクチャx86_64で見つかりませんclang:エラー:終了コマンド1でリンカーコマンドが失敗しました(使用-v呼び出しを表示)
OTHER_LDFLAGS
_をオーバーライドしていました。OTHER_LDFLAGS
_がリンカーフラグを継承するように変更されました。基本的に、$(inherited)
に変更しました@ i'L'iが提供するすべてのステップに従いましたが、ビルドフェーズで_Crashlytics.framework
_および_Fabric.framework
_ファイルを見つけることができませんでした。
だからこれは私を助けた。
ステップ1:指定されたすべてのステップに従います ここで
ステップ2:_Crashlytics.framework
_内の_Fabric.framework
_および_Link Binary With Libraries
_ファイルが_+
_をクリックしても見つからない場合SOMECODE)__フォローします。
2.1:_+
_の_Link Binary With Libraries
_ボタンをクリックします。
2.2:_Add Other...
_ボタンをクリックします。
2.3:Pod
フォルダから_Crashlytic.framework
_および_Fabric.framework
_を選択-ココアポッドを使用する場合または、ダウンロードした場所から両方のファイルを選択します。
ステップ3:ビルド成功、お楽しみください。 :)
将来の参考のために、これはテストファイルをアプリのターゲットにリンクする場合にも発生する可能性があります。
I'L'Iとuser3517250が言及していることとは逆に、問題は、そこにあるべきではない#import
ステートメントがあることかもしれません。
Xcodeは、#import
ステートメントからリンクするフレームワークを推測します。リンクしていないフレームワークをインポートすると、この警告が表示されます。
同じ問題がありました。たぶん、最初のファブリックのインストールを台無しにしたかもしれませんが、Fabric.frameworkをフレームワークのリストに追加すると(デフォルトではアプリのルートフォルダーにあるはずです)、すべてが機能しました。