GoogleAdMob SDK、Xcode 8.2、cocoapods、またはそれらの組み合わせのバグであると思われる、1 週間以上私を忙しくさせていた非常に奇妙な問題に遭遇しました。
エンジニアがバグを確認し、私たちのチームを解決への正しい方向に導くことができることを願って、ここに投稿しています。
問題は次のようになります。
- 空の Xcode プロジェクトを作成する
GoogleAds-IMA-iOS-SDK-For-AdMob
ポッドの追加/インストール- すべてをコミットし、ローカル マシンからリポジトリを削除します
- リポジトリを再度チェックアウトする
- ビルドを押します。プロジェクトはエラーでビルドに失敗します
ld: framework not found GoogleMobileAds
GoogleAds-IMA-iOS-SDK-For-AdMob
修正するには、ポッドをコメントアウトして実行し、pod update
再度コメント解除して再度実行pod update
すると、プロジェクトがビルドされます。- この時点でコミットしようとすると、git は変更を取得しません。
- 手順 3 と 4 を繰り返すと、手順 5 に戻ります。
バグを再現できるhttps://github.com/piterwilson/testAdmobにリポジトリを作成しました。
私が見つけた「修正」は、コードをコミットし、ビジネスに必要なさまざまなコード署名で多くのビルドを作成する Jenkins サーバーに送信するため、チームには機能しません。
Jenkins ビルドは常に ld:framework not found GoogleMobileAds で失敗します
追加情報 : これは今年から始まったばかりです。Xcode 8.2 (?) が原因かもしれませんが、問題がどこにあるのか正確にはわかりません。