如何在 Xcode 中创建 Entitlement.plist 文件?

Posted

技术标签:

【中文标题】如何在 Xcode 中创建 Entitlement.plist 文件?【英文标题】:How to create Entitlement.plist file in Xcode? 【发布时间】:2013-10-30 05:28:50 【问题描述】:

我已经下载了最新版本的 Xcode。我想在我的项目中创建 Entitlement.plist 文件。

请给我正确的步骤来在 Xcode 中创建一个Entitlement.plist 文件。

【问题讨论】:

对此已有答案 [这里] (***.com/questions/9044735/…) @MKR 感谢您的帮助 【参考方案1】:

您可以在目标设置的功能选项卡中管理权利。

其中的任何更改都会自动更新Entitlements.plistInfo.plist 文件。

话虽如此,Entitlements.plist 文件最终只是一个plist。您可以按照in this question 提供的步骤添加任意数量的plists。

【讨论】:

但我想添加一个新的 Entitlement.plist Capabilities 中没有添加新 Entitlement.plist 的选项 感谢您的回答我正在处理这个问题,如果有帮助会通知您。 我仍然遇到问题。仅当使用以下应用程序委托方法通过 Deeplink 重新打开我的应用程序时才会发生这种情况: - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 如果我只是启动应用程序,钥匙串编写工作,并且如果我最小化和最大化应用程序,它仍然有效。只有当我使用深层链接重新打开时才会出现此问题。我确实在我的项目中配置了 MyApp.entitlements(“功能”选项卡中的“钥匙串共享”)。【参考方案2】:

在 Xcode 5 中,对于通用权利,您不再需要手动创建 Entitlements.plist 文件。您改为使用新的功能窗格。见https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html

如果您仍想手动创建一个,方法如下:

    文件菜单 > 新建文件... 选择 iOS > 资源 > 属性列表 将新文件命名为“foo.entitlements”(通常,“foo”是目标名称) 点击“权利文件”旁边的 (+) 以添加***项目(属性列表编辑器将使用正确的架构,因为文件扩展名)

不要忘记将目标的 CODE_SIGN_ENTITLEMENTS 构建设置设置为您刚刚添加的权利文件的路径。

【讨论】:

【参考方案3】:

如果您想在 Xcode 5 中为现有项目添加权利,请按照以下步骤操作:

    在导航器区域中选择您的项目。 在编辑器区域中选择您的目标。 在编辑器区域中,从菜单栏中选择功能选项。 打开钥匙串共享选项左侧的披露按钮。 在钥匙串共享下选择“+”按钮。 在输入区输入授权。 完成。

【讨论】:

最简单的答案。非常感谢:) 谢谢!!!!经过很多很多的搜索,这有帮助!对于像我这样的菜鸟,披露按钮是“功能”一词旁边的 + 按钮。【参考方案4】:

您可以使用下面的模板手动创建Entitlements.plist 文件。

另存为YourTargetName.entitlements

在您的Target > Build Settings 中,将密钥“代码签名权利”(CODE_SIGN_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>application-identifier</key>
    <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
    <key>beta-reports-active</key>
    <true/>
</dict>
</plist>

【讨论】:

$(AppIdentifierPrefix)$(CFBundleIdentifier) 占位符,当权利被codesign 解析时,它们必须被替换还是被替换? @EugenMayer 我相信它们将被替换,您可以保持原样。但是从发布此答案时开始,我并不积极。 其实孔弦线是不需要langer的,如果包含会失败,今天刚试了一下【参考方案5】:

CMD + SHIFT + K

通过 CMD + B 清理构建和重建对我有用

【讨论】:

以上是关于如何在 Xcode 中创建 Entitlement.plist 文件?的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 8.2.1 中创建 Xcode 项目模板

如何在 XCode 7.0 中创建 dSYM 文件

如何在 Xcode 中创建一个新的 C++ 项目?

如何在 Xcode 7.2 中创建类别? [复制]

如何在 xcode 中创建“删除”操作表?

如何使用 Storyboard 在 Xcode6 中创建 UIButton 连接?