Xcodeでプロジェクトをビルドすると、次のエラーが発生します。
ld:ファイルが見つかりません
/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events clang:error:リンカコマンドが終了コード1で失敗しました(呼び出しを表示するには-vを使用)
過去1時間、このエラーが発生しています。解決策はありますか?コードはiOS 7およびxCode 5.で正常に機能しました。 iOS8の場合、このエラーが発生します。
フレームワークの使用:
完全なエラー:
<pre>
Ld /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests normal arm64
cd /Users/MacBookPro/Desktop/Social_Events/Social_Events/Social_Events
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
</pre>
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Arch arm64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -L/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -filelist /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests.LinkFileList -dead_strip -bundle_loader /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events -framework XCTest -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.1 -framework XCTest -framework UIKit -framework Foundation -Xlinker -dependency_info -Xlinker /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests_dependency_info.dat -o /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests
>ld: file not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
clang: error: linker command failed with exit code 1 (use -v to see invocation)
>(null): File not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
プロジェクトの名前を変更し、Tests
がもう見つからないため、このエラーが発生している可能性があります。これは簡単に修正できます。
このようにXcodeで解決してください:
[Your project's Tests]
ターゲットの下General
タブの下で、Host Application
ドロップダウンからこの問題は、プロジェクトの名前を変更しましたが、テストでそれを見つけることができなかったために起こりました。
問題は、製品の名前を変更した後でも、Testsターゲットが以前のアプリ名を探していることです。
テストターゲットを選択し、ビルド設定でTestHost値を変更して、次の方法で新しい製品名に対応させます。
$(BUILT_PRODUCTS_DIR)/YourNewProductName.app/YourNewProductName
製品の名前を変更して解決しました。
アプリケーションのターゲットで、ビルド設定を選択します。
[パッケージ化オプション]で、製品の名前をエラーに表示されている名前に変更する必要があります。
問題が解決し、コードのコンパイルが開始されました。私のテストケースも実行しています。
私は同様の問題を抱えていました-それは、Cocoapodsを使用していて、.xcworkspaceファイルの代わりに.xcodeprojファイルを開いていたためです... doh!
派生データのクリーンアップを試みましたか?
Xcode5->Organizer->Projects->Select your project->Delete the derived data.
「Social_EventsTests」ターゲットを削除してください。
注:PuzzleGameは、私のプロジェクトの新しい名前(製品名)です。 RandomNumberは私のプロジェクトの古い名前(製品名)です。
「フレームワークが見つかりません」という問題がありました。私のプロジェクトの名前を変更した後です。
プロジェクト設定に移動し、ターゲットを選択します(notプロジェクト)。 [全般]タブで、[リンクされたフレームワークとライブラリ]を見つけ、古い名前を削除します。
FBSDKCoreKit.framework
の追加中に同様の問題が発生しましたが、解決策は次のとおりです。
frameworks
がすでに追加されている場合は、オプションremove all references
で削除します。frameworks
をプロジェクトに配置するgroup
にまっすぐにドラッグアンドドロップします。注:xcodeでフレームワークをドラッグアンドドロップすると、<yourproject> -> Targets -> <yourproject> -> Search Paths -> Framework Search Paths
の下にフレームワーク検索パスが自動的に設定されます。フレームワークを再配置すると、Framework Search Paths
は空になり、linker error , framework not found
になります。
既存のプロジェクトに単体テストターゲットを追加すると、同様の問題が発生しました。あらゆる種類のエラーが発生しました。最終的に実行するには、いくつかのループを実行する必要がありました。以下にリストする
テストターゲットのヘッダー検索パスの下のエントリが、メインプロジェクトフォルダーのヘッダー検索パスのエントリと一致することを確認します。
ポッドを使用している場合、「Firebaseが見つかりません」などのエラーが発生する可能性があります。このためには、次のコード行をポッドファイルに追加し、ポッドインストールを実行します。
ターゲット 'YourProjectNameTests' do
継承! :search_paths
#テスト用ポッド
終わり
また、Bridgeging header file not foundエラーが表示される場合は、ビルド設定のSwift compile code general
また、@ Jose Llausasが言及した手順に従う必要があります。