6

我正在使用具有 iOS 5.1 部署目标的 Xcode 4.5

当我针对两个显着增加的特定方法编译我的应用程序时,我收到以下警告。

ld:警告:PIE 已禁用。代码签名的 PIE 中不允许使用绝对寻址(可能是 -mdynamic-no-pic),但在 -[mfile 方法] 中使用。要修复此警告,请勿使用 -mdynamic-no-pic 编译或使用 -Wl,-no_pie 链接

随后,该应用程序在启动时引发异常,并出现以下错误:

dyld: vm_protect(0x00001000, 0x0078C000, false, 0x07) 失败,结果 = 2 用于 /var/mobile/Applications/8E764612-87ED-4A99-9C59-E56C934DA997/appname.app/appname 中的段 __TEXT

dyld dyld_fatal_error:

0x2feb20c4:陷阱

0x2feb20c8: 无

当我注释掉有问题的方法时,应用程序运行良好。

有什么建议么?

4

1 回答 1

6

以下是 Unity 论坛的回复:

在 xcode 4.6 构建设置中,将“不要创建与位置无关的可执行文件”从“否”更改为“是”,就是这样。

学分去阿米特柴

于 2013-07-16T11:32:00.917 回答