含Admob的Unity iOS构建在Xcode运行报错:OBJC_CLASS$_GADInterstitialAd未找到
iOS端Admob运行时错误:Symbol not found: OBJC_CLASS$_GADInterstitialAd 解决方案
针对你遇到的Android端正常、iOS模拟器运行报错的问题,以下是几个排查和修复步骤:
手动确认CocoaPods依赖安装
导出Xcode项目后,不要直接打开.xcodeproj,而是进入项目根目录执行pod install,确保依赖安装过程无报错。完成后必须通过生成的.xcworkspace文件打开项目,否则Pod依赖不会被正确链接。锁定Google Mobile Ads SDK精确版本并修正目标配置
修改AdMob_Dependencies.xml中的配置,将版本范围改为精确版本,同时确保依赖添加到所有目标:<iosPod name="Google-Mobile-Ads-SDK" version="7.4.0" bitcodeEnabled="true" minTargetSdk="14.0" addToAllTargets="true" />修改后在Unity中打开
Assets -> External Dependency Manager -> iOS Resolver -> Resolve,强制重新处理依赖。检查Xcode架构设置
在Xcode项目的Build Settings中:- 确认
Architectures包含x86_64(适配Xcode 12.4的模拟器架构); - 将
Build Active Architecture Only在Debug模式下设置为Yes,减少编译架构冲突。
- 确认
清理缓存后重新构建
- Unity端执行
Assets -> Reimport All,再重新导出Xcode项目; - Xcode端执行
Product -> Clean Build Folder,然后重新构建运行。
- Unity端执行
验证Unity导出设置
在Unity Player Settings -> iOS -> Other Settings中:- 确保
Scripting Backend为IL2CPP(若使用该后端),且Target Architecture包含对应模拟器的架构; - 确认
Api Compatibility Level设置为.NET Framework,避免跨平台API兼容问题。
- 确保
内容的提问来源于stack exchange,提问作者Orit K.
相关产品推荐
相关产品推荐

