Xcode添加AdMob的Info.plist后遇多命令冲突及初始化异常
解决方案
问题根源
你遇到的构建错误是因为项目里同时存在两个Info.plist的输出流程:Xcode会默认根据项目配置生成并处理一个Info.plist(对应报错里的process command),而你手动添加的另一个完整Info.plist被设置为复制到Bundle中(对应copy command),两者最终输出到同一个路径,导致冲突。移除这个额外的Info.plist后,原生Info.plist里没有AdMob所需的配置,所以SDK初始化时会抛出缺少应用ID的错误。
具体解决步骤
删除手动添加的额外Info.plist
找到你下载或新增的那个Info.plist文件,从项目中彻底移除(选择Move to Trash,避免残留文件干扰)。在原生Info.plist中添加AdMob配置
项目创建时自带的那个Info.plist是Xcode默认处理的,你需要在里面补充AdMob所需的配置,有两种方式:- 可视化编辑(推荐):
选中项目目标(Target),切换到「Info」标签页,点击底部的「+」按钮:- 添加键
GADApplicationIdentifier,类型选String,值填入你的AdMob应用ID(比如你使用的ca-app-pub-3940256099942544~1458002511) - 添加键
SKAdNetworkItems,类型选Array;在这个数组里新增一个Dictionary,里面添加键SKAdNetworkIdentifier,值填cstr6suwn9.skadnetwork
- 添加键
- 源码编辑:
右键点击原生Info.plist,选择「Open As -> Source Code」,将以下代码片段插入到<dict>标签内部:<key>GADApplicationIdentifier</key> <string>ca-app-pub-3940256099942544~1458002511</string> <key>SKAdNetworkItems</key> <array> <dict> <key>SKAdNetworkIdentifier</key> <string>cstr6suwn9.skadnetwork</string> </dict> </array>
- 可视化编辑(推荐):
验证并重新构建
- 确认项目中只有一个Info.plist文件(原生的那个)
- 按下
Cmd+Shift+K清理项目缓存,再按Cmd+B重新构建项目
这样既解决了构建时的文件冲突问题,又能让AdMob SDK读取到正确的应用ID,初始化正常。
内容的提问来源于stack exchange,提问作者Gank
相关产品推荐
相关产品推荐

