为啥要将 entitlements.plist 添加到我的项目中?

Posted

技术标签:

【中文标题】为啥要将 entitlements.plist 添加到我的项目中?【英文标题】:Why add entitlements.plist to my project?为什么要将 entitlements.plist 添加到我的项目中? 【发布时间】:2013-03-06 09:00:06 【问题描述】:

ios 应用程序中添加权利文件的目的是什么? 这个 Get-task-allow 可以包含在任何其他方式中吗?为什么我必须在我的项目中包含这个键?

【问题讨论】:

【参考方案1】:

根据Apple Docs

权利赋予特定的能力或安全权限 你的应用程序。这些文件定义了为您的应用程序提供对 iOS 的访问权限的属性 功能(例如推送通知)和安全数据(例如用户的钥匙串)。

设置权利值以启用 iCloud、推送通知、 和 App Sandbox(App Sandbox 仅适用于 Mac OS X)。每个权利都有一个 默认值,在大多数情况下禁用关联的功能 与权利。当您设置权利时,您将覆盖 通过提供适当的键值对来默认设置

本质上,它赋予应用开发者更好的控制权。

不过要记住一些要点 -

    如果您使用了现代化工具,Get-task-allow 现在在 Xcode4.1 及更高版本中称为“可调试”。 简单的 ad-hoc 不需要权利,只需使用 ad-hoc 配置文件存档和共享,就可以了。 在分发版本中保留 Entitlements.plist 文件没有问题,我已经提交了几个应用程序。实际上,Entitlements.plist 也适用于您的应用可能使用的其他 iOS 功能。

【讨论】:

以上是关于为啥要将 entitlements.plist 添加到我的项目中?的主要内容,如果未能解决你的问题,请参考以下文章

了解 iPhone 项目的 Entitlements.plist

注册 Apple Push Notifications 和 Entitlements.plist

如何从 xcode 中的自定义权利设置中删除 Entitlements.plist

我是不是需要为我的目标设置一个 Entitlements.plist 文件才能使推送通知正常工作?

iOS4.3 Entitlements.plist for Ad Hoc Distribution

iOS: 删除真机测试的Provisioning Profile后,在Code Singing中出现entitlements.plist文件无效,解决办法如下: