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

我正在编写一个机制(在iOS应用程序中)通过执行fork();检查应用程序沙箱的完整性来检测设备是否越狱fork(); 。 有谁知道如果试图这个电话会违反App Store的指导方针?

fork()(和其他)不会让你被拒绝; 被香草所拒绝的操作在提交时不能被复制。 我在应用程序上使用fork()和system()调用来检查越狱环境,并没有被拒绝这个:)

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

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

我没有发现app store的准则,禁止使用调用一些低级别的API。 这是合乎逻辑的,因为越狱不存在,他们会不会做什么你不能做的事情?

我发现的最接近的东西是:

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

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

根据我的经验,一个试图检查/private/{etc,var}/apt (Cydia需要的APT的configuration和caching目录,但在香草iOS设备上不存在)的文件夹的应用程序是否存在使用NSFileManager不被拒绝。