iPhone +配置文件+ app-info.plist + entitlements.plist = iPhone App?怎么样 ? entitlements.plist究竟做了什么?

时间:2010-04-21 05:59:58

标签: iphone xcode plist provisioning

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

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

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

好的,无论如何。我知道 - 这是不可能的。因为我们必须遵循 - 苹果说的。 但是,这背后的主要目的是

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

1 个答案:

答案 0 :(得分:3)

权利实际上是iPhoneOS的安全措施。引自iPhone Development Guide

  

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

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

但私人使用的权利很多,例如

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

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