我遇到了一个非常奇怪的问题,让我忙了一个多星期,我认为这是 GoogleAdMob SDK、Xcode 8.2、cocoapods 或它们的组合的错误。
我将其发布在这里,希望工程师能够确认错误并为我们的团队指明正确的解决方向。
问题是这样的:
- 创建一个空的 Xcode 项目
- 添加/安装
GoogleAds-IMA-iOS-SDK-For-AdMob
吊舱 - 提交所有内容并从本地计算机中删除存储库
- 再次签出存储库
- 点击构建。项目将无法构建并出现错误
ld: framework not found GoogleMobileAds
- 要修复,注释掉
GoogleAds-IMA-iOS-SDK-For-AdMob
pod 并运行pod update
,然后再次取消注释并再次运行pod update
,项目将构建。 - 如果您此时尝试提交,git 将不会接受任何更改
- 重复步骤 3 和 4,您将返回步骤 5
我在这里创建了一个存储库https://github.com/piterwilson/testAdmob可以重现该错误。
我发现的“修复”对我们的团队不起作用,因为我们提交代码并将其发送到 Jenkins 服务器,该服务器创建了许多具有我们业务所需的不同代码签名的构建。
Jenkins 构建总是失败并显示 ld: framework not found GoogleMobileAds
额外信息:这只是从今年开始发生的。也许是因为 Xcode 8.2 (?) 但我们不能确定问题到底出在哪里。