[iOS][AdMob] 7.7.1 から 7.8.0にするとビルドできない

ビルドでリンカエラー。

リンクが必要なframeworkが増えたようだ。
何してるのかはわからないけれど。

Undefined symbols for architecture arm64:
“_OBJC_CLASS_$_SFSafariViewController”, referenced from:
objc-class-ref in GoogleMobileAds(flat-arm64)
“_OBJC_CLASS_$_CBUUID”, referenced from:
objc-class-ref in GoogleMobileAds(flat-arm64)
“_OBJC_CLASS_$_CBCentralManager”, referenced from:
objc-class-ref in GoogleMobileAds(flat-arm64)
“_CBCentralManagerOptionShowPowerAlertKey”, referenced from:
l919 in GoogleMobileAds(flat-arm64)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

以下の2つをOptional追加でビルドは通る。

  • SafariServices.framework
  • CoreBluetooth.framework

SafariServicesは、iOS 7で追加された。
CoreBluetoothは、iOS 5で追加された。

ビルド対象がiOS 7以降のアプリなら、OptionalでもRequiredでも問題なさそう。(多分)

リリースノートには記載がない。うむ。
https://developers.google.com/admob/ios/rel-notes

(2016/5/23)リリースノートの場所が変わってますね。
https://firebase.google.com/docs/admob/release-notes
そして上記のFrameworkのことも追記されていました。
2016年6月20日から、AdMobがFirebase Analyticsに移行されるということで、もう移動されている。

シェアする

  • このエントリーをはてなブックマークに追加

フォロミー

コメントをどうぞ

メールアドレスが公開されることはありません。