由于Apple正在打击提交的未启用PIE的应用程序,我将我的目标版本设置为4.3并将“不生成与位置无关的可执行文件”设置为NO,但是当我提交给Apple时,他们仍然返回说“Non- PIE 二进制文件 - 可执行文件“MyApp”不是与位置无关的可执行文件。请确保您的构建设置已配置为创建 PIE 可执行文件。”
任何人都知道我需要更改哪些其他设置?
谢谢
你只需要检查它是否工作正常转到终端并将自己放在根文件夹中(只需键入 cd 并按 enter)然后在终端中键入以下行:$ otool -hv /path/to/MyApp.app/MyApp (/ path/to/MyApp.app/MyApp 应该是您的应用程序的路径)
要获取您的应用程序的路径,请转到 xCode,然后在文件夹 Products 中,您有您的应用程序,右键单击它并在 finder 中显示,在 finder中右键单击它并获取 info,您就有了路线。您只需要在该路线的末尾添加 yourApp.app/yourApp
在终端中运行该行后,将出现如下内容:
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC ARM V7 0x00 EXECUTE 39 4548 NOUNDEFS DYLDLINK TWOLEVEL PIE
/Users/AGMacBookOscar/Library/Developer/Xcode/DerivedData/Stache-dryffgnvhpkbsxguxecizmadewxv/Build/Products/Debug-iphoneos/Wisdom.app/Wisdom (architecture armv7s):
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC ARM V7S 0x00 EXECUTE 39 4548 NOUNDEFS DYLDLINK TWOLEVEL PIE
如果在标志部分下有一个 PIE,那么一切都很好,你在这里有信息:
https://developer.apple.com/library/ios/#qa/qa1788/_index.html#/apple_ref/doc/uid/DTS40013354