酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Appbank Network、AdMobのAdvertising SDKをバージョンアップしたときにリンクエラーが発生したのでその対策

iOS 8が正式に公開されて、広告関係のSDKを全てアップデートしました。今までのように上書きアップデートではリンクエラーが発生するようです。

nendSDK for iOS v2.5.4

Appbank NetworkのnendSDK for iOSのv2.5.4では、アニメーションGIF関連の対応が増えているようです。

Undefined symbols for architecture armv7:
  "_kCGImagePropertyGIFUnclampedDelayTime", referenced from:
      +[NADUtils animatedGIFWithData:] in libNendAd.a(NADUtils.o)
  "_kCGImagePropertyGIFDictionary", referenced from:
      +[NADUtils animatedGIFWithData:] in libNendAd.a(NADUtils.o)
  "_CGImageSourceCreateWithData", referenced from:
      +[NADUtils animatedGIFWithData:] in libNendAd.a(NADUtils.o)
  "_CGImageSourceCreateImageAtIndex", referenced from:
      +[NADUtils animatedGIFWithData:] in libNendAd.a(NADUtils.o)
  "_CGImageSourceCopyPropertiesAtIndex", referenced from:
      +[NADUtils animatedGIFWithData:] in libNendAd.a(NADUtils.o)
  "_kCGImagePropertyGIFDelayTime", referenced from:
      +[NADUtils animatedGIFWithData:] in libNendAd.a(NADUtils.o)
  "_CGImageSourceGetCount", referenced from:
      +[NADUtils animatedGIFWithData:] in libNendAd.a(NADUtils.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

増えたアニメーションGIFに対応する為に使っているframeworkが追加になっています。

  • ImageIO.framework

Google Mobile Ads SDK for iOS v6.12.0

iOS 8が正式に公開されてSDKがアップデートされています。こちらも上書きアップデートするとリンクエラーが発生します。

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_EKEvent", referenced from:
      objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
  "_OBJC_CLASS_$_EKEventEditViewController", referenced from:
      objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

以下のframeworkを追加します。

  • EventKit.framework
  • EventKitUI.framework