Ios 在Xcode 10中为企业分发代码时,代码签名框架失败
我正在尝试为Enterprise分发应用程序,并不断收到此错误(在选择配置文件后): 挖掘日志可以发现:Ios 在Xcode 10中为企业分发代码时,代码签名框架失败,ios,xcode,Ios,Xcode,我正在尝试为Enterprise分发应用程序,并不断收到此错误(在选择配置文件后): 挖掘日志可以发现: 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 0
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
类似的问题也发生在项目使用的所有框架上。这些框架是使用迦太基添加的
这是在我升级到Xcode 10和Carthage 0.30.1(我以前使用的是0.16.x)之后开始的。几天前我遇到了这样的问题。问题与您的框架有关,它可能已损坏。您可以下载或生成一个新的框架。这解决了我的问题。当您使用迦太基添加框架时,您需要遵循一些步骤以使其正常工作。以下是一个教程: 在您的情况下,请确保:
链接的
(不是嵌入的
)
运行脚本阶段:
我可以通过将目标的构建设置“仅构建活动体系结构”更改为“是”,然后从“有效体系结构”更改为“i386”来解决此问题。我在这里找到了我的解决方案:从“将二进制文件链接到库”部分删除迦太基框架修复我的项目中的相同问题如何将
AppAuth.framework
添加到您的项目中?豆荚,迦太基,手动?@lobstah它是使用迦太基添加的。这发生在我所有的框架上,不仅仅是AppAuth;很快将发布答案确保您的迦太基框架是链接的,而不是嵌入的,并且您有/usr/local/bin/carthage copy frameworks
脚本以及使用迦太基添加的框架列表。将添加一个答案可能不一样;我所有的框架都会发生这种情况还有一件事:运行脚本阶段必须是最后一个阶段(在嵌入框架之后);我猜嵌入框架阶段会复制框架,并且carthage copy Frameworks
会剥离模拟器切片,因此它们需要是正确的顺序,而不是carthage copy Frameworks
,您必须指定输入/输出文件,您还可以使用strip frameworks.sh
,从中自动扫描frameworks文件夹,并帮助我了解到底发生了什么事情,这对我来说根本不起作用。如果我不将它们放在嵌入的二进制文件部分,我总是会收到这个错误dyld:Library not loaded:@rpath/Alamofire.framework/Alamofire
(当应用程序运行时),这就是为什么你需要第2步:运行脚本:/usr/local/bin/carthage copy frameworks
并在下面添加所有的carthage框架(作为输入文件)