2011-03-31 61 views
37

我有一个应用程序,我试图存档的Mac。我在过去和Xcode的早期版本做这个但是当我在Xcode 4存档,我得到以下警告:Xcode 4存档警告,以跳过复制阶段

warning: skipping copy phase strip, binary is code signed: ..... 

警告涉及到一个辅助工具,必须在构建阶段被复制。我如何解决此警告?

有什么建议吗?

回答

90

的解决办法是去应用目标(而不是帮助工具的目标)的构建设置,并设置“地带调试符号复制在”“否”。这是关键COPY_PHASE_STRIP

COPY_PHASE_STRIP screenshot

激活该设置导致它们构建过程中复制二进制文件(例如,在复制包资源或复制文件建立阶段)被剥离的调试符号。它不会导致目标的链接产品被剥离(使用Strip Linked Product)。

主要问题是您无法从已签名的可执行文件中去除调试符号。这就是为什么你必须跳过这一步。

+0

谢谢 - 现在有道理,并解决了我的问题。以前只是跳过签署dylib资源,但这次提交到Mac App Store时收到警告。这显然是更好的解决方案。 – DouglasHeriot 2011-10-30 13:11:01

+3

您也可以打开部署后处理,剥离安装的产品和单独的剥离,它会剥离二进制文件并仍然是代码。调试也可以,但只有第一次,如果你重新运行,看起来Xcode 4.3会“重新生成”.dSYM文件并破坏调试信息。 – 2012-03-01 01:32:46

+1

男人你摇滚!我厌倦了所有这些构建时间的混乱。你救了我! – NightCoder 2012-08-23 23:13:27