如何在 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.plist
或Info.plist
文件。
话虽如此,Entitlements.plist
文件最终只是一个plist
。您可以按照in this question 提供的步骤添加任意数量的plist
s。
【讨论】:
但我想添加一个新的 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 文件?的主要内容,如果未能解决你的问题,请参考以下文章