Kon*_*ool 16 xcode ios ios8-share-extension
当我向项目添加共享扩展并将其归档警告时,我收到此警告:跳过复制阶段条带,二进制代码已签名:/ Users/xxxx/xxx/xxxx/Build/xxxx/Build/Intermediates/ArchiveIntermediates/xxxx/IntermediateBui ldFilesPath /UninstalledProducts/XXX.appex/XXXX
旧问题没有提供和洞察力来纠正这一点.所以我决定再问一次. 存档期间的警告在Xcode 6中使用iOS 8扩展的应用程序
有人可以解释为什么会这样吗?是因为扩展目标已经过代码签名了吗?如果是这样,如何解决?
我知道将"复制期间调试符号"设置为"否"可以清除此警告.但它实际上并没有解决问题.没有"剥离调试符号"的缺点是什么?因为无论我将其设置为YES还是NO,我的存档大小仍然相同
Mon*_*eur 21
不要不关闭Strip Debug Symbols During Copy您的应用程序项目.这将使您的应用程序膨胀(如果您有其他未签名的依赖项).
之所以发生这种情况,是因为构建应用程序项目会尝试剥离框架,但由于框架已经过编码,因此无法实现.但是,框架在构建期间已经被剥离,因此警告是无害的.Xcode似乎没有检测到已经剥离了编码签名的框架.
你应该保持原样.
Lui*_*rbe 12
"编译代码通常包含调试信息.这些调试内容有助于检查调试器中运行的代码,但对于您在分发版本中提供的优化代码则更少.因此,在执行存档构建时会被删除.
这里的问题是PBXCp无法从已签名的二进制文件中删除调试符号,因为这会使数字签名无效.因此,如果你有一个在Xcode 6.3之前创建的项目,你现在会得到这样的警告.
要修复警告,只需将两个值都更改为NO.删除它们不起作用,因为两者的默认值仍为YES.Xcode 6.3附带的项目模板默认关闭.只有使用旧模板启动的项目在发布行上仍然为YES."
资料来源:https://www.cocoanetics.com/2015/04/skipping-copy-phase-strip/
小智 9
我知道,我遇到了相同的警告并通过在包含应用程序(不是扩展名)的构建设置中将"在复制期间调试符号"设置为"否"来解决它.
另一方面,更改扩展名的相同设置无效.这清楚地表明了警告的实际含义.也就是说,剥离符号并不意味着"目标"的符号将被条带化,但确实意味着目标将尝试剥离"嵌入式二进制文件"的符号.
因此,我相信警告的实际含义是Xcode无法在归档容器应用程序时删除扩展二进制文件的调试符号,因为需要嵌入容器应用程序中的扩展二进制文件"已经"已编译并且在Xcode尝试在归档容器应用程序时删除扩展二进制文件的符号之前通过代码签名冻结.
看起来Xcode的默认构建设置与条带化嵌入式扩展二进制文件的调试符号相关,需要正确更新才能显示此警告.