![]() | Xcode12で「framework not found FBLPromises」でビルドエラーが発生しました。 対応に苦労したので、その方法を記載しておきます。 |
(1) 問題の現象 |
今までは問題なくビルドできていましたが、突然ビルドできなくなりました。
以下のようなエラーが表示されます。
【エラーメッセージ(一部マスク)】
ld: warning: directory not found for option '-F/Users/<USER>/Library/Developer/Xcode/DerivedData/<APPFOLDER>/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement'
ld: warning: directory not found for option '-F/Users/<USER>/Library/Developer/Xcode/DerivedData/<APPFOLDER>/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/GoogleMobileAds'
ld: warning: directory not found for option '-F/Users/<USER>/Library/Developer/Xcode/DerivedData/<APPFOLDER>/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/UserMessagingPlatform'
ld: framework not found FBLPromises
clang: error: linker command failed with exit code 1 (use -v to see invocation)
下から2行目の「framework not found FBLPromises」でビルドエラーになります。
(2) 対応方法 |
下記のサイトに記載されている通り、Project > Build Settings > Build Active Architecture Only を全て「No」にすると解消しました。
◆Qiita - [XCode][Cocoapods]ビルドエラー時の対処法
(3) 雑記 |
ソースコードを何も触っていないはずなのに、ある日突然Simulatorでビルドできなくなって焦りました。
実は、初回ではなく2回目です。
1回目は半年ほど前、Simulatorではビルドできていたのに、リリースしようとしてArchiveするとビルドエラーが発生する現象があり、その時も同じ対応で解消しました。
ちなみにその時もGoogleのAdMob関連Frameworkが見つからないというエラーだったので、これはCocoaPodsとAdMobに関連して生じる問題の模様です。
ネットで調べると、様々な対応方法の記述があります。
・CocoaPods インストール後に生成される .xcworkspace ではなく、既存の .xcodeproj を開いている
・CocoaPods のバージョンが古い
・CocoaPods のレポジトリの再生成が必要
・CocoaPods の再インストールが必要
などなど。
それで解消している方もいらっしゃるのですが、私の場合は解消せず、2回とも上記の方法で解消しました。
ちなみに1回目の時に、Build Active Architecture Only を全てNoにしたはずでしたが、今回見たらDebugがYesになっていました。
また、現象記録用に、一度 Build Active Architecture Only をNoにした後、Discard all changes で元に戻してもビルドエラーは出なくなりました。
ということで、私は意味をあまり理解できていないのですが、備忘録もかねてここに記載しておきます。
iPhoneで御朱印集めを楽しくするアプリ『御朱印マップ』を公開しています。ダウンロードはこちらからどうぞ。