2012-04-17 236 views

回答

1

您不能使用它,iOS不允许您创建可执行页面或从文件运行自定义二进制文件。

0

据我所知,编译的可执行二进制文件不能打包,因为它必须用Xcode和工具签名。将已签名代码部署到iOS设备后,无法以任何方式进行修改(只有操作系统可以加载它与RAM不同)。

您可以尝试打包资源文件并以不同的方式加载它们。

+2

这是一个不正确的假设。构建过程(来自Xcode)与代码签名是分开的,您可以在构建它之后和签署之前操作二进制文件。项目设置中甚至有一个“构建后自定义构建脚本”字段。 – kuba 2012-04-24 21:01:02

+0

是的。但是,编码(二进制)也是Xcode和工具(如此编写)的一部分。因此,为了使用非xcode工具打包二进制文件,您还需要iOS子系统中的对应文件。所以,在我的眼中:没有机会。 – 2012-04-24 21:02:27

+1

那么,没有。 UPX和其他软件包将解包器嵌入到二进制文件中,所以它仍然是一个独立的二进制文件,没有其他要求。然而,由于其他原因(无法在运行时分配可执行页面(如其他帖子中所建议的))可能不可能。 – kuba 2012-04-24 21:53:07

1

像UPX这样的解包器需要将解包的图像放在某个地方。如果它被放置在内存中,则CPU需要开始执行图像中的指令,该指令在此之前被视为数据。 IIRC,iOS不允许执行数据。