Xcode complains link error: "Undefine symbol: '_OBJC_CLASS_$_SKAdImpression'" after pod GoogleMobileAdsMediationAdColony

Xcode complains link error: "Undefine symbol: '_OBJC_CLASS_$_SKAdImpression'" after pod GoogleMobileAdsMediationAdColony

我正在尝试将 AdColony 中介添加到 AdMob 中。 我按照“https://developers.google.com/admob/ios/mediation/adcolony”的说明进行操作。

在 pod 'GoogleMobileAdsMediationAdColony' 之后,我打开 Xcode 来测试我的应用程序并收到 link 错误:

Undefine symbol: '_OBJC_CLASS_$_SKAdImpression'

以及警告:

Could not find or use auto-linked framework 'AVFAudio'

我用谷歌搜索但一无所获。

有什么建议吗?提前致谢。

SKAdImpression 看起来像 class,它是 iOS 14.5 的新功能,因此您可能需要 Xcode 12.5+ 来包含 class 定义。

我 运行 进入相同的未定义符号:'OBJC_CLASS$_SKAdImpression' 在 Xcode 12.4 下出错,但升级到 12.5为我修复了。

iOS AdColony SDK 4.6.1 版需要 Xcode 12.5.

来自the changelog

4.6.1 (2021/04/21)

  • SKAdNetwork view-through attribution support
  • Build requires Xcode 12.5

这意味着如果您回到 4.6.0,您应该而不是需要Xcode12.5。您可以通过选择特定版本的 'GoogleMobileAdsMediationAdColony' pod:

pod 'GoogleMobileAdsMediationAdColony', '4.6.0.0'

您可以在podspec here中看到该版本使用的是AdColony SDK 4.6.0版本。

显然这不是一个长期的解决方案,但由于 Xcode 12.5 需要 Big Sur 它允许多一点时间才能 运行 一个主要的 OS 更新你所有的开发机器。