iOS应用中的fork()可能会被Apple的审查程序拒绝吗?

时间:2013-04-09 05:18:49

标签: ios app-store jailbreak

我正在编写一种机制(在iOS应用中),通过执​​行fork();检查App沙箱的完整性来检测设备是否越狱。有没有人知道尝试此次通话是否会违反App Store指南?

3 个答案:

答案 0 :(得分:6)

fork()(和其他)不会让你被拒绝;在提交时无法复制被vanilla os拒绝的操作。 我在appstore上有应用程序使用fork()和system()调用来检查越狱环境,并且没有一个被拒绝:)

答案 1 :(得分:4)

您无法在非越狱设备上的iOS应用程序中创建新进程(您会收到诸如“不允许操作”之类的错误),但您可以使用pthread库创建新线程。

编辑:但是如果你试图检测一个设备是否越狱了,我认为这不会违反商店指南只是为了“尝试”做一个分叉,但这更像是一个法律问题而不是一个技术问题

我在应用商店指南中没有发现任何禁止使用调用某些低级API的指南。这是合乎逻辑的,因为越狱不存在,他们会禁止你做一些你无法做的事情?

我找到的最接近的事情是:

  • 在指定的容器区域外读取或写入数据的应用程序将被拒绝
  • 以任何方式或形式下载代码的应用将被拒绝
  • 安装或启动其他可执行代码的应用将被拒绝

答案 2 :(得分:0)

fork(2)可能会让你被拒绝。如果你的目的是检查设备是否越狱,你可以检查是否存在APT。

根据我的经验,尝试检查文件夹是否存在于/private/{etc,var}/apt(APT的配置和缓存目录,Cydia需要工作但在vanilla iOS设备上不存在)的应用程序存在使用{{1}不被拒绝。