1

由于Apple正在打击提交的未启用PIE的应用程序,我将我的目标版本设置为4.3并将“不生成与位置无关的可执行文件”设置为NO,但是当我提交给Apple时,他们仍然返回说“Non- PIE 二进制文件 - 可执行文件“MyApp”不是与位置无关的可执行文件。请确保您的构建设置已配置为创建 PIE 可执行文件。”

任何人都知道我需要更改哪些其他设置?

谢谢

4

1 回答 1

0

你只需要检查它是否工作正常转到终端并将自己放在根文件夹中(只需键入 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

于 2013-07-03T10:01:20.673 回答