如何验证应用程序二进制文件是否已启用饼图

时间:2013-05-22 19:09:32

标签: ios xcode pie-chart

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

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

由于

1 个答案:

答案 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