权利的用途是什么以及如何创建?

时间:2012-10-31 07:16:55

标签: iphone entitlements

我创建了一个小应用程序,我没有使用任何.entitlement文件在模拟器和设备中运行。它的工作正常......但我不知道这个.entitlement文件的使用位置以及如何创建它。这对应用程序很重要吗?

1 个答案:

答案 0 :(得分:0)

权利是一种特殊权利,应用程序可以使用该权限获得额外的权限并访问系统的某些功能,例如访问钥匙串(keychain-access-groups权利),启动应用程序就像SpringBoard一样({{1} }权利),等等。

通过Xcode和开发人员工具附带的官方com.apple.springboard.launchapplications工具以及可用于的Entitlements.xml实用程序对应用程序进行代码签名时使用codesign_allocate文件在越狱设备上伪造的代码。从本质上讲,它是一个属性列表文件,其中包含一个或多个这些权利,其内容将在代码签名过程中合并到可执行文件中。当操作系统尝试运行应用程序并且它查找二进制文件的签名时,它会找到现在硬编码的权利文件,并指示沙箱守护程序取消符合该文件内容的某些特权限制。

以下是iOS的all documented entitlements,通过查看iOS中的一些可删除文件,也可以找到其他未记录的文档。