2

我有一个自动构建过程,它使用 xcodebuild 和 xcrun 的组合编译 iPhone 应用程序。当构建调用 xcodebuild 时,它会传入一个覆盖某些设置的 xcconfig 文件。

IPHONEOS_DEPLOYMENT_TARGET = 4.3

ARCHS = armv7

VALID_ARCHS = armv7

LD_NO_PIE = NO

从理论上讲,这应该确保构建的二进制输出是与位置无关的可执行文件。有没有办法检查二进制文件,看看是否真的如此?

4

1 回答 1

4

使用“otool -vh”,您可以看到“PIE”标志:

$ otool -vh YourApp
YourApp:
Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
   MH_MAGIC     ARM         V7  0x00     EXECUTE    28       3532   NOUNDEFS DYLDLINK TWOLEVEL PIE
于 2012-10-05T11:53:33.740 回答