Xcode 在 pod GoogleMobileAdsMediationAdColony 后抱怨链接错误:“未定义符号:'_OBJC_CLASS_$_SKAdImpression'”

问题描述

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

在 pod 'GoogleMobileAdsMediationadcolony' 之后,我打开 Xcode 来测试我的应用并收到链接错误

Undefine symbol: '_OBJC_CLASS_$_SKAdImpression'

以及警告:

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

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

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

解决方法

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

我在 Xcode 12.4 下遇到了相同的未定义符号:'OBJC_CLASS$_SKAdImpression' 错误,但升级到 12.5 已为我修复。

,

iOS AdColony SDK 4.6.1 版需要 Xcode 12.5。

来自the changelog

4.6.1 (2021/04/21)

  • SKAdNetwork 浏览归因支持
  • 构建需要 Xcode 12.5

这确实意味着如果您回到 4.6.0,您应该不需要需要 Xcode 12.5。您可以通过选择“GoogleMobileAdsMediationAdColony”窗格的特定版本来执行此操作:

pod 'GoogleMobileAdsMediationAdColony','4.6.0.0'

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

显然,这不是一个长期的解决方案,但由于 Xcode 12.5 需要 Big Sur,因此在必须对所有开发机器运行主要操作系统更新之前,它允许多一点时间。