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

Posted

技术标签:

【中文标题】权利的用途是啥以及如何创建权利?【英文标题】:what is the use of entitlement and how it can be created?权利的用途是什么以及如何创建权利? 【发布时间】:2012-10-31 07:16:54 【问题描述】:

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

【问题讨论】:

【参考方案1】:

权利是应用程序可以获得额外特权和访问系统某些功能的特殊权利,例如访问钥匙串(keychain-access-groups权利),像 SpringBoard 一样启动应用程序(com.apple.springboard.launchapplications权利),等等。

Entitlements.xml 文件在 Xcode 和开发者工具附带的官方 codesign_allocate 工具和可用于在越狱设备上进行虚假代码设计的 ldid 实用程序时使用。本质上,它是一个属性列表文件,其中包含一个或多个这些权利,其内容将在代码签名过程中合并到可执行文件中。当操作系统尝试运行应用程序并查找二进制文件的签名时,它会找到现在硬编码的权利文件,并指示沙盒守护进程根据该文件的内容解除某些特权禁令。

这里是 ios 的all documented entitlements,其他未记录的也可以通过查看 iOS 中的一些可执行文件找到。

【讨论】:

以上是关于权利的用途是啥以及如何创建权利?的主要内容,如果未能解决你的问题,请参考以下文章

由Opencv开发的 植物大战僵尸

QT Flappy_bird

用户组的管理以及权利下放问题

错误 ITMS-90164/90046:无效的代码签名权利

Swift 中 Playgrounds 的用途是啥?

VEMS 下载软件,生成和访问许可证