【问题标题】:XCode9: code signing blocked mmap() while running on deviceXCode9:在设备上运行时代码签名阻止 mmap()
【发布时间】:2018-03-08 22:28:01
【问题描述】:

升级到 XCode9 后遇到以下问题(我无法完全隔离原因,因为我在升级后立即重新生成了证书以启用推送服务):

dyld: Library not loaded: @rpath/apowo.framework/apowo
  Referenced from: /var/containers/Bundle/Application/2CD5CA32-1DAF-423B-B921-024DCBEE2AF0/picatown.app/picatown
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/2CD5CA32-1DAF-423B-B921-024DCBEE2AF0/XXXX.app/Frameworks/apowo.framework/apowo: code signing blocked mmap() of '/private/var/containers/Bundle/Application/2CD5CA32-1DAF-423B-B921-024DCBEE2AF0/XXXX.app/Frameworks/apowo.framework/apowo'

关于 SO 有几个类似的帖子,但我相信这可能是由一些新事物引起的。事实上,最初的问题不在 XXX.framework 上,而是在 libswiftcore 上,在我完成了关于 SO 的所有建议之后,错误来自我自己的库。这是我尝试过的:

  • 干净
  • 删除派生数据
  • 重启 XCode、Mac 和我的手机
  • 删除所有证书并重新创建
  • 从项目中删除框架引用(以及二进制文件)并重新添加

它们都不起作用。

一些额外的数据是我正在使用 jenkins 和 fastlane 来管理构建。每次作业运行时都会重新创建 XCode 项目。相同的作业在另一台使用 XCode 8 的机器上运行良好,并且没有任何中断(在重新创建证书后运行,因此与新证书一起运行)。

我认为这与库有关,我在 XCode 9 上重新构建了它们。新构建的库也在 XCode 8 构建的应用程序中并且运行良好,但在 XCode 9 上却没有。

任何帮助将不胜感激。

【问题讨论】:

  • 任何解决方案或更新?
  • 嗯,原来是证书问题。我按照一篇文章为根证书选择了“始终允许”。但是它应该是默认设置
  • @YANGLei,谢谢!您的评论应该是正确的答案。
  • @SoheilB.Marvasti 哦,是的。很高兴它有帮助。

标签: xcode9


【解决方案1】:

我已经尝试了以下步骤并且它正在工作:
XCode -> Build Phase -> Linked frameworks and libraries:从必需到可选中选择您的特定框架状态。

它应该可以工作;)

【讨论】:

【解决方案2】:

我遇到了一个非常相似的问题,最终成为编码签名/认证问题。本文深入探讨了两种可能的解决方案。对我来说,它归结为更改我的开发者证书的信任级别。

打开钥匙串访问:我的证书>“右键单击”证书>获取信息>信任>使用此证书时>使用系统默认值

“使用此证书时”应该来自使用自定义设置>使用系统默认值

https://blog.supereasyapps.com/how-to-fix-iphone-and-ipad-app-codesign-crashes-using-an-apple-developer-profile/

【讨论】:

    【解决方案3】:

    遇到了同样的问题,无论我重新创建证书、清理项目或切换证书中的“使用系统默认值”与“始终信任”设置多少次,都没有任何帮助。

    有什么帮助是注意到虽然我在钥匙串中有一个 Apple 全球开发者关系 CA,但我的开发者证书仍然“由未知机构签名”(只有当我双击它时才会显示,附近没有红十字它在列表中,就像过期的一样)。 事实证明,苹果有 5 个不同的 WWDG CA — https://www.apple.com/certificateauthority/ 您可能想检查哪个用于签署您的个人资料(颁发者名称 -> 组织单位:Gx)并下载适当的一个(或全部)。例如,在我的情况下,我只安装了 G1,而由 XCode 自动创建的新证书由 G3 签名,而我的系统中缺少该证书。安装 G3(下载并双击或放入钥匙串窗口)解决了问题,我能够再次在手机上运行该应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多