2013-05-13 67 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