2013-05-13 48 views
4

刚刚开始通过以下建议获取发布的应用商店提交电子邮件。位置独立可执行文件的正确Xcode设置是什么

请确保您的构建设置已配置为创建PIE可执行文件。

然而在Xcode中设置显示正确,在链接部分,我发现

“不要创建位置独立的可执行”被设置为NO。

(Double negatives YUK)。

回答

0

我从苹果公司回应与

非PIE二进制 - 可执行“ProductManualApp.app”不是位置无关可执行文件。请确保您的构建设置已配置为创建PIE可执行文件。

从我在谷歌的研究中,很多人都说它涉及“不要创建位置独立的可执行文件”。我认为应该保持默认值,即'否'

+1

我遇到即使我做的一切都是相同的问题在规定https://developer.apple.com/library/ios/#qa/qa1788 /_index.html#/apple_ref/doc/uid/DTS40013354 – 2013-05-30 15:55:25

+0

对我来说也是一样!有谁解决了这个问题? – 2013-06-06 04:59:01

2

您可能会收到此Apple警告,不是因为您的应用程序本身,而是因为未编译为PIE的第三方库。例如,如果您使用Marmalade SDK Engine,您将收到此警告(他们将在9月份修复它)。

但是你可以尝试在构建设置添加更多的编译器标志:

其他C标志你可以将国旗:-fPIC

等警示标志你可以将:轮候册, - 发出-relocs轮候册, - 警告 - 共享textrel

要看到,如果你的一个PP是PIE:

otool -hf /path/to/your/App.app/app 

参考:https://developer.apple.com/library/ios/qa/qa1788/_index.html

+2

您如何知道第三方库是否使用PIE编译? – user102008 2015-04-20 18:28:01

+0

谢谢,这些标志起作用。他们的意思是什么?他们能否对我的应用产生不利影响? – 2016-06-03 04:23:09

+1

从头开始,命令工具显示我的应用程序具有PIE标​​志,但是当我上传应用程序时,App Store仍然收到有关框架PIE的警告 – 2016-06-03 04:32:58

相关问题