4

要在 iPhone 中执行我的应用程序,首先我必须将配置文件添加到我的 iPhone 中。好的。但我不明白在资源下 xCode 的 iphone 应用程序中添加 entitlements.plist 的原因。

  • entitlements.plist 文件实际上是做什么的?
  • 为什么那个 .plist 文件中只有一个布尔值?(获取任务允许)
  • 我们不能将该布尔变量添加到 application-info.plist 吗?

我的意思是,我找不到将单个布尔变量存储在单独的 plist 文件中的原因。相反,application-info.plist 已经包含许多应用程序设置。我们不能把这个布尔变量添加到 application-info.plist 中。

好吧,随便。我知道——这不可能。因为我们必须遵循 - 苹果所说的。但是,这一切背后的主要意图是

  • “ entitlements.plist 的基本需求是什么?” 或者
  • “entitlements.plist 的功能是什么?”
  • “配置文件、entitlements.plist、application-info.plist 和 iPhone 应用程序如何编译在一起并在 iPhone 上进行验证并在 iPhone 上执行?”
4

1 回答 1

3

权利实际上是 iPhoneOS 的一种安全措施。引用自iPhone 开发指南

权利。这些文件定义了属性,这些属性使您的应用程序可以访问 iPhone OS 功能(例如推送通知)和安全数据(例如用户的钥匙串)。

公开地,您可以使用的唯一授权密钥是get-task-allow,它最终使该ptrace()功能可用于应用程序,从而启用调试。

但是有很多权利是私下使用的,例如

  • task_for_pid-allow, 允许控制其他进程(通过task_for_pid()函数)
  • run-unsigned-code, 以允许在没有签名的情况下从此应用程序运行代码。
  • com.apple.springboard.launchapplications,com.apple.springboard.wipedevice等。

plist 将附加到应用程序的二进制文件并与之一起签名 - 与未签名的 Info.plist 不同。如果信任链没有中断,这将作为对某些(危险)行为的权利

于 2010-04-21T06:29:02.107 回答