在Xcode 10中为Enterprise分发时,代码签名框架会失败

时间:2018-09-21 04:22:01

标签: ios xcode

大家好,我正在尝试为Enterprise分发应用程序,并不断出现此错误(选择“配置文件”后):

enter image description here

浏览日志显示以下内容:

2018-09-21 04:14:07 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' '2D44419C65EF2B7301F0646133CC88C2C6A3E697' '--entitlements' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/entitlementsycy5yP' '--preserve-metadata=identifier,flags,runtime' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework' 2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: replacing existing signature 2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: code object is not signed at all 2018-09-21 04:14:07 +0000 /usr/bin/codesign exited with 1

该项目使用的所有框架都有类似的问题。这些框架是使用Carthage添加的。

这是在我升级到Xcode 10和Carthage 0.30.1(以前使用的是0.16.x)之后开始发生的。

4 个答案:

答案 0 :(得分:8)

在使用Carthage添加框架时,需要遵循一些步骤才能使其正常工作。这是一个教程:https://www.raywenderlich.com/416-carthage-tutorial-getting-started

在您的情况下,请确保:

  1. 您将框架添加为Linked(不是Embedded

  2. 在构建阶段中,您有Run script阶段: enter image description here

  3. 您为所有迦太基框架添加了路径(输入文件)

答案 1 :(得分:0)

几天前我遇到了这样的问题。该问题与您的框架有关,可能已损坏。您可以下载或生成一个新框架。这解决了我的问题。

答案 2 :(得分:0)

通过将目标的构建设置“仅构建活动体系结构”更改为“是”,然后从“有效体系结构”中删除“ i386”,我得以解决此问题。我在这里找到了解决方案:https://github.com/Carthage/Carthage/issues/1771

答案 3 :(得分:0)

从“使用库链接二进制文件”部分删除迦太基框架会在我的项目中解决相同的问题