【问题标题】:How to verify that app binary is pie enabled如何验证应用程序二进制文件是否已启用
【发布时间】:2013-05-22 19:09:31
【问题描述】:

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

有人知道我需要更改哪些其他设置吗?

谢谢

【问题讨论】:

  • 我不知道这是什么,然后意识到我要尝试谷歌搜索“苹果派”......
  • 您的问题是如何构建 PIE 可执行文件(您在问题正文中提出的问题)还是如何验证 PIE 设置(什么是在问题标题中)?

标签: ios xcode pie-chart


【解决方案1】:

您只需要检查它是否有效 转到终端并将自己放在根文件夹中(只需键入 cd 并按 enter) 然后在终端中输入这一行: $ otool -hv /path/to/MyApp.app/MyApp (/path/to/MyApp.app/MyApp 应该是您应用的路径)

要获取您的应用程序的路径,请转到 xCode,然后在文件夹 Products 中,您有您的应用程序,右键单击它并 在 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2012-07-31
    • 1970-01-01
    相关资源
    最近更新 更多