19

I got this warning when I added share extension to my project and archiving it warning: skipping copy phase strip, binary is code signed: /Users/xxxx/xxx/xxxx/Build/xxxx/Build/Intermediates/ArchiveIntermediates/xxxx/IntermediateBui ldFilesPath/UninstalledProducts/XXX.appex/XXXX

The old question does not provide and insight to correct this . So I decided to ask again. Warning during archive App with iOS 8 Extension in Xcode 6

Can someone please explain why this is happening ? Is it because the extension target is already code signed? If so, how to solve it ?

I knew that setting "Strip debug symbols during copy" to "NO" can clear this warning . But it is not actually solve the problem. And what is the drawback of not "stripping debug symbol"? Because my archive size is still the same whether I set this to YES or NO

4

5 回答 5

21

不要在您的应用程序项目中禁用Strip Debug Symbols During Copy这将使您的应用程序膨胀(如果您有其他未签名的依赖项)。

发生这种情况是因为构建应用程序项目试图剥离框架,但它不能因为框架已经被代码签名。然而,框架在构建过程中已经被剥离,所以警告是无害的。Xcode 似乎没有检测到代码签名的框架已经被剥离。

你应该保持原样。

于 2015-04-23T13:05:53.217 回答
13

“编译后的代码通常包含调试信息。这些调试信息有助于检查调试器中正在运行的代码,但对于您将在分发版本中发布的优化代码则不太有用。因此在进行存档构建时它会被剥离。

这里的问题是 PBXCp 无法从签名的二进制文件中去除调试符号,因为这会使数字签名无效。因此,如果您有一个在 Xcode 6.3 之前创建的项目,您现在将收到这样的警告。

要修复警告,只需将两个值都更改为 NO。删除它们不起作用,因为两者的默认值仍然是 YES。Xcode 6.3 附带的项目模板默认关闭这些。只有使用旧模板开始的项目在 Release 行上仍然有 YES。”

来源:https ://www.cocoanetics.com/2015/04/skipping-copy-phase-strip/

于 2015-05-26T13:15:34.883 回答
8

如您所知,我遇到了相同的警告并通过在包含应用程序(而不是扩展名)的构建设置中将“复制期间去除调试符号”设置为“否”来解决它。

另一方面,更改扩展的相同设置没有效果。这清楚地表明了警告的实际含义。也就是说,剥离符号并不意味着将剥离“目标”的符号,而是意味着目标将尝试剥离“嵌入式二进制文件”的符号。

因此,我相信警告的实际含义是 Xcode 在归档容器应用程序时无法去除扩展二进制文件的调试符号,因为需要嵌入到容器应用程序中的扩展二进制文件“已经”编译并且在 Xcode 在归档容器应用程序时尝试去除扩展二进制文件的符号之前,通过代码签名冻结。

似乎需要正确更新与嵌入式扩展二进制文件的条带化调试符号相关的 Xcode 默认构建设置,以免显示此警告。

于 2015-01-13T14:38:03.010 回答
1

如果您使用的是 Xcode 9.34.1,请单击项目设置。使用过滤器找到正确的设置:输入“strip debug”。您将找到设置 COPY_PHASE_STRIP。可能设置为“是”。设置为“否”以删除警告。

于 2018-06-26T17:30:05.437 回答
1

在我的情况下,与 2 个 AppIcons 相关(我忘了填充它们),请检查 xxx.xcassets 文件中的所有 AppIcons 是否具有正确的 xxpt。从这里我请求苹果改进这个检查或者启用一个自动工具来完成所有的 AppIcons 集。这太疯狂了。

于 2015-10-12T18:56:28.493 回答