模糊的问题,谷歌AdMob SDK,XCode 8.2 + Cocoapods集成

时间:2017-01-13 09:34:52

标签: swift cocoapods google-ima google-admob xcode8.2

我遇到了一个非常奇怪的问题,让我忙了一个多星期,我认为这是GoogleAdMob SDK,Xcode 8.2,cocoapods或其组合的一个错误。

我在这里发布,希望工程师可以确认错误并指出我们的团队正确的解决方案。

问题是这样的:

  1. 创建一个空的Xcode项目
  2. 添加/安装GoogleAds-IMA-iOS-SDK-For-AdMob pod
  3. 提交所有内容并从本地计算机中删除存储库
  4. 再次检出存储库
  5. 点击构建。项目将无法构建,并显示错误ld: framework not found GoogleMobileAds
  6. 要修复,请注释掉GoogleAds-IMA-iOS-SDK-For-AdMob窗格并运行pod update,然后再次取消注释,再次运行pod update,即可构建项目。
  7. 如果您此时尝试提交,git将不会进行任何更改
  8. 重复步骤3和4,您将返回步骤5
  9. 我在这里创建了一个存储库https://github.com/piterwilson/testAdmob,可以在其中复制错误。

    '修复'我发现这对我们的团队不起作用,因为我们提交代码并将其发送到Jenkins服务器,该服务器创建了许多具有我们业务所需的不同代码签名的构建。

    Jenkins构建总是失败,ld:framework找不到GoogleMobileAds

    额外信息:这只发生在今年开始。也许是因为Xcode 8.2(?),但我们无法确定问题的确切位置。

1 个答案:

答案 0 :(得分:1)

我创建了一个PR,以可靠的方式解决问题:https://github.com/piterwilson/testAdmob/pull/1

存储库缺少GoogleAdMobs二进制文件。它是一个相当大的文件(38M),所以问题的提交者可能有一些本地配置会自动忽略大文件?二进制文件应该在此提交中:https://github.com/piterwilson/testAdmob/commit/a0834a4d2f2b82da98add1bc3c49d8c0c28ffd86(至少在我尝试重现问题时出现的情况。)