【问题标题】:Entitlements.plist not created properlyEntitlements.plist 未正确创建
【发布时间】:2011-03-02 14:00:10
【问题描述】:

从 Apple 读取文档我需要创建一个临时分发应用程序,为此我需要 entitlements.plist。 当我创建新权利时,“get-task-allow”值不存在,所以我手动添加.. 对吗? 最后 Entitlements.plist 是这样的:

<?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>application-identifier</key>
    <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
    </array>
    <key>get-task-allow</key>
    <true/>
</dict>
</plist>

【问题讨论】:

  • 最新安装有同样的问题 (xcode_3.2.4_and_ios_sdk_4.1.dmg)。
  • 我也有同样的问题。还没找到解决办法。

标签: iphone plist distribution adhoc entitlements


【解决方案1】:

尝试在 XCode 中转到“新文件”并在向导中选择“代码签名”。选择“权利”文件类型。

只需将其命名为“Entitlements.plist”。 确保未检查任务允许的临时分发。

这就是你需要做的,不需要“自己动手”:)

(Xcode 3.2.2)

更新:

Xcode 4.2 起,Entitlements.plist 已从“新文件”菜单中删除。您现在可以在页面底部的Project's Targets &gt; Summary 下找到它。

【讨论】:

  • 感谢 ricky,我正是这样做的,但是 get-task-allow 键没有出现,出现了 application-identifier 和 keychain-acces-groups...所以我需要删除它们并只留下 get-task-allow (false).. 我不知道如何为真,我添加了密钥,选择布尔值并保持未选中,但代码为真...
  • 听起来很奇怪。我只是尝试了一些设置组合,看看是否可以使新的 entitlements.plist 看起来像那样,但我不能。您是否在钥匙串中安装了开发人员密钥?您是否在 info.plist 文件中添加了一些内容或在项目设置中进行了任何额外的设置?
  • 是的,我在钥匙串中安装了一个开发人员密钥..我是私人开发人员..对我来说听起来也很奇怪...我尝试手动更改 .plist 唯一的 get-任务允许键为 false 而没有其他...谢谢 Ricky
  • 不客气,但我没有想法。如果有任何帮助,这里是工作 entitlements.plist 文件的内容。您可以在文本编辑器中编辑您的并将其粘贴到: get-task-allow
【解决方案2】:

你可以这样做。您也可以在 XCode 中选择您的 Entitlements.plist 并在主菜单中选择:查看/属性列表类型/iPhone 权利 plist。然后可以从下拉列表中选择您的密钥,并将其称为“可以调试”(据我所知 - 它应该是此列表中唯一可用的密钥)

【讨论】:

  • 这是您正在寻找的答案。 “可以调试”是get-task-allow 的“友好”键(右键单击,显示原始键/值确认这一点)。
【解决方案3】:

我遇到了同样的问题。我手动创建了一个新行“get-task-allow”,将类型更改为布尔值,实际上必须将其设置为 true 才能获取设备令牌。

【讨论】:

    【解决方案4】:

    在 XCode 4.2 中,权利文件已被移动。它现在是项目根目录的“目标”部分的一部分,位于“摘要”项列表的底部。

    【讨论】:

      【解决方案5】:

      在企业配置方面,我也遇到了同样的问题。 经过大量谷歌搜索后,我找到了this。提取 ipa,将 Entitlements.plist 复制到 Payload 文件夹并使用 this 中的方法进行代码签名。没有做任何其他事情,它开始正确安装。

      【讨论】:

        猜你喜欢
        • 2016-01-14
        • 1970-01-01
        • 2022-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-20
        • 2020-10-04
        • 2011-01-30
        相关资源
        最近更新 更多