我最近升级到Xcode 10,开始更新应用程序以切换至4.2的过程。经过大约一天的重建第三方框架并添加了解决各种问题的方法后,我得以在新的模拟器上运行我们的应用程序。

但是,当我尝试在个人电话(运行iOS 12.0 GM)上运行时,如标题所述,在安装应用程序时遇到错误。

我知道在SO和Internet上有关于此主题的lotalready,但是我无法使其中任何一个起作用。

它已经阻塞了我大约一天半的时间,所以我想知道是否有人对如何缓解这种情况有所了解。

这是我到目前为止所采取的尚未成功的步骤(也许将来它们会为其他人使用!):

  • 清除派生数据
  • 删除并重新下载计算机上的所有配置文件
  • 清理构建目录(cmd + k&cmd + shft + k)
  • 从手机中删除原始应用程序
  • 重新启动Xcode(版本10.0(10A254a)[GM])
  • 重新启动Mac(运行macOS High Sierra的Macbook Pro 2018)
  • 重新启动我的设备(运行iOS 12.0 GM的iPhone X)
  • 上面的许多组合,包括一次
  • 在developer.apple.com上重新生成应用程序的配置文件(我们使用手动签名)
  • 在developer.apple.com上删除和重新创建应用程序的配置文件
  • 向蒂姆·库克(Tim Cook)牺牲了一只山羊
  • 确保签名证书与供应配置文件
  • 匹配
  • 从我的计算机上删除旧版本的Xcode并确保命令行工具在xcode 10.0 gm版本
  • 删除并重新安装Xcode 10.0 GM
  • 确保所有复制的框架都已检查code sign on copy
  • 使用swift 4.2编译器通过Carthage重建所有框架(请记住,它们都可以在模拟器上运行)。
  • answered
  • 删除了我计算机上的所有旧签名证书
  • 在developer.apple.com上删除并重新创建的证书
  • 删除了我的设备并将其重新添加到developer.apple.com
  • 将代码签名从手动更改为自动
  • 确保签名证书是Developer而不是Distribution

  • 任何帮助将不胜感激 :)

    更新:我尝试在一台新计算机上从头开始重新下载和重建,并且发生相同的问题。有趣的是,我可以很好地存档和验证该应用程序。

    还尝试使用相同的 bundle 软件ID签署一个空项目,效果很好。因此,问题可能出在我们的第3方框架中,或者是从Xcode 9.4过渡时启用的一些怪异设置。开始逐个删除第3方框架,直到我将其编译为止。

    更新2:仍然没有运气。尝试清除大多数框架,但一无所获。这是设备日志,想知道Skipping a profile because of error 0xe8008012是否与它有关:

    questions

    更新3:因此,通过在构建阶段注释掉carthage copy-frameworks脚本(并在执行此操作后清理/修改派生数据),我能够安装它。当然,这意味着它会因为缺少那些框架而在启动时崩溃,但这确实意味着问题是与迦太基或链接的迦太基框架之一有关。不是我们的签名证书,配置文件或代码库。尝试一个接一个地删除那些框架,我将在这里进行更新。

    最终更新终于弄清楚了。解决方案原来是相当合适的(见下文),但是希望这个问题可以作为互联网上与该问题相关的每个解决方案的汇总。

    最佳答案

    弄清楚了:

    当我将内容转移到xcode 10时,我遇到了迦太基https://github.com/Carthage/Carthage/issues/2472这个问题,并使用了他们建议的设置EXPANDED_CODE_SIGN_IDENTITY =''的解决方案。

    显然,这行是在复制框架时导致迦太基自身受伤并导致错误的原因。我下载了最新版本的迦太基以解决此问题,然后删除了EXPANDED_CODE_SIGN_IDENTITY=''行,一切正常。真是浪费时间。

    关于ios - 应用安装失败。找不到代码签名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52373664/

    10-14 20:17
    查看更多