Swift 模糊问题,谷歌AdMob SDK,XCode 8.2+;椰子荚整合

Swift 模糊问题,谷歌AdMob SDK,XCode 8.2+;椰子荚整合,swift,cocoapods,google-ima,google-admob,xcode8.2,Swift,Cocoapods,Google Ima,Google Admob,Xcode8.2,我遇到了一个让我忙了一个多星期的非常奇怪的问题,我认为这是GoogledMob SDK、Xcode 8.2、cocoapods或其组合的一个bug 我把它贴在这里,希望工程师能确认这个错误,并为我们的团队指出正确的解决方向 问题是这样的: 创建一个空的Xcode项目 为AdMob添加/安装GoogleAds IMA iOS SDK 提交所有内容并从本地计算机中删除存储库 再次签出存储库 击中构建。项目将无法生成,错误为ld:framework-notfound-GoogleMobileAds 要

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

我把它贴在这里,希望工程师能确认这个错误,并为我们的团队指出正确的解决方向

问题是这样的:

  • 创建一个空的Xcode项目
  • 为AdMob添加/安装GoogleAds IMA iOS SDK
  • 提交所有内容并从本地计算机中删除存储库
  • 再次签出存储库
  • 击中构建。项目将无法生成,错误为
    ld:framework-notfound-GoogleMobileAds
  • 要修复此问题,请注释掉AdMobpod的
    GoogleAds IMA iOS SDK并运行
    pod update
    ,然后再次取消注释并再次运行
    pod update
    ,项目将生成
  • 如果您尝试在此时提交,git将不会收到任何更改
  • 重复步骤3和4,您将回到步骤5
  • 我在这里创建了一个存储库,可以在其中复制bug

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

    Jenkins构建总是失败,因为没有找到ld:framework GoogleMobileAds


    额外信息:这只发生在今年。也许是因为Xcode 8.2(?),但我们不能确定问题到底出在哪里

    我创建了一个PR,以可靠的方式解决问题:

    存储库缺少GoogleAddMobs二进制文件。这是一个相当大的文件(38M),所以问题提交者可能有一些本地配置,自动忽略大文件?二进制文件应该在这个提交中:(至少在我试图重现这个问题时,它出现在我面前。)