跳到主要内容

Entitlements 编辑器

查看应用请求的能力,编辑 .entitlements 文件,并发现常见配置错误。

  • 按类型编辑权限键
  • 校验关联域名
  • 提示调试权限风险
  • 本地导出 .entitlements
等待打开文件 本地处理,不上传文件

Entitlements 的作用

Entitlements 是代码签名中的能力声明,涉及 App Groups、iCloud、推送通知、钥匙串访问组及 App Sandbox 等。文件通常使用 XML plist,但声明并不会自动赋予开发者账号相应权限。

示例:修正类型与关联域名

以下为 plist 字典内部的片段。这两处写法都会触发诊断:

<key>com.apple.security.app-sandbox</key>
<string>true</string>
<key>com.apple.developer.associated-domains</key>
<array><string>https://example.com</string></array>

app-sandbox 需要布尔值;associated-domains 需要带服务前缀的域名:

<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.developer.associated-domains</key>
<array><string>applinks:example.com</string></array>

这样能修正这两项本地检查,但不会验证域名的关联文件、账号权限或应用签名。关联域名的完整配置见 Apple 文档

在 macOS 上对照已签名应用

codesign --display --entitlements - --xml "/path/to/App.app" > app.entitlements

在此打开导出的文件进行对照。Xcode 源文件中的构建变量应按项目需要保留;签名后的输出用于核对最终值。允许的能力可通过预置描述文件查看器检查。

Apple 官方说明:描述文件权限与签名声明

检查常见问题

工具检查常见键的值类型、associated-domains 的格式、get-task-allow 以及高风险的 Hardened Runtime 例外。发布前仍需结合 provisioning profile 和最终代码签名验证。

常见问题

文件会上传到服务器吗?
查看、编辑和导出都在浏览器本地进行。仅当你主动使用 AI 配置描述文件审查时,才会发送脱敏后的内容。
编辑后应用就会拥有这些能力吗?
不会。应用需要使用符合账号和描述文件要求的 entitlements 重新签名。