代码之家  ›  专栏  ›  技术社区  ›  sagarkothari

iphone+配置文件+app-info.plist+授权.plist=iphone app?怎样?Plist到底有什么作用?

  •  3
  • sagarkothari  · 技术社区  · 15 年前

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

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

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

    好的,不管怎样。我知道-这是不可能的。因为我们必须遵循苹果的说法。 但是,这一切背后的主要意图是

    • “什么是基本的权利需求.plist?”或
    • “entitlements.plist的功能是什么?”
    • “Provisioning profile,entitlements.plist,application-info.plist&iphone application如何一起编译,在iphone上进行验证,在iphone上执行?”
    1 回复  |  直到 15 年前
        1
  •  3
  •   kennytm    15 年前

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

    权利。 这些文件定义的属性为应用程序提供对iPhone OS功能(如推送通知)和安全数据(如用户的钥匙链)的访问。

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

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

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

    plist将附加到app__的二进制文件并与之一起签名,与info.plist不同,后者没有签名。如果信任链没有断开,这就相当于 entitlement 某些(危险)行为的权利。