在其中一个项目中,有一个名为Entitlements.entitlements的文件,该文件有什么作用?
里面的内容就像
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<false/>
</dict>
</plist>
答案 0 :(得分:1)
“权利授予您的iOS或OS X应用程序的特定功能或安全权限。
设置权利值以启用iCloud,推送通知和App Sandbox。每个权利都有一个默认值,在大多数情况下会禁用与权利相关联的功能。设置权利时,通过提供适当的键值对来覆盖默认值。
iCloud权利允许您启用iCloud数据存储 您的iOS或OS X应用程序。
您可以逐个目标地设置iCloud权利值 Xcode项目。
推送通知让您的应用即使在您的iOS或iOS时也能提醒用户 OS X应用程序未执行。
您可以将推送通知权利值设置为配置的一部分 您的开发和分发配置文件。
App Sandbox权利允许您启用名为的安全功能 沙盒为您的OS X应用程序。 (在iOS中,所有应用都是沙盒 自动,因此这些沙盒权利不适用。)
通过仔细启用您需要的资源访问权限,您就可以了 如果恶意代码成功,可以最大限度地减少损坏 利用你的应用程序。您可以在a上设置App Sandbox权利值 在Xcode项目中逐个目标。“
修改强>
目前,看起来这个Entitlements plist是空的。
要解释它的各个部分,请:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
是文档类型定义(DTD),是用于定义此XML文件的文档类型的标记声明。
:
<plist version="1.0">
告诉你plist的版本类型。
而且:
<key>get-task-allow</key>
“登录到应用程序时,允许其他进程(如调试器)附加到您的应用程序。分发配置文件要求关闭此值,而开发配置文件要求打开此值(否则Xcode将永远不会能够启动并附加到您的应用)“(taken from this link)。它需要BOOL
值,看起来它当前设置为<false/>
我希望能回答你的问题并涵盖所有问题。