由于Apple正在打击提交的非PIE启用的应用程序,我将目标版本设置为4.3并且“不生成位置独立可执行文件”设置为NO,但是当我提交给Apple时,他们仍然返回说“非PIE二进制 - 可执行文件'MyApp'不是位置独立可执行文件。请确保您的构建设置已配置为创建PIE可执行文件。”
任何人都知道我需要改变哪些其他设置?
由于
答案 0 :(得分:0)
您只需要检查它是否正常工作 转到终端并将自己置于根文件夹中(只需输入cd并按Enter键) 然后在终端中输入以下行: $ otool -hv /path/to/MyApp.app/MyApp (/path/to/MyApp.app/MyApp应该是您应用的路径)
要获取应用的路径,请转到xCode,然后在产品文件夹中找到您的应用,右键单击它并在Finder中显示,在Finder中右键单击获取信息,你有路线。您只需在该路径的末尾添加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