如何为不同的目标设置不同的.entitlements文件

23

我有两个目标 - 分别是开发和生产环境的配置,具备不同的功能(在生产环境中禁用Apple Pay)

我已经准备好了所需目标的Info.plist文件,但是在Proj.entitlements文件中无法做到同样的操作 - 在“实用工具”菜单中的“目标成员资格”部分被禁用

我在每个目标的“构建设置”中设置了相应的“代码签名授权”,但在“常规”选项卡中仍然收到“Provision Profile 'X' doesn't support 'X' capability”的错误提示

在Xcode中是否有任何方法可以指定正确的.entitlements文件?


你在Code Signing Entitlements部分更改授权是正确的,但是你的错误提示与你每个目标应用程序ID不同的预配文件有关。 - iphonic
是的,目前有不同功能的配置文件。我已经为开发目标启用了AppleyPay(该功能仍在开发中)。但是对于生产目标,此功能已被禁用。 - Viktor
我认为这个答案会对你有所帮助。 - iphonic
链接很有用,但是对于我有不同id的目标的情况来说,需要做出调整。 - Viktor
2个回答

37

我也尝试为我的目标设置单独的权利文件,只为其中一些目标激活推送通知。每次更改一个目标的功能时,变更也会被应用于其他目标,因为Xcode始终只编辑相同的授权文件,尽管我为每个目标设置了不同的文件路径:

Build Settings > Code Signing Entitlements

对我来说,问题在于所有的授权文件都有相同的名称。当我为每个目标授权文件指定一个唯一的名称后,Xcode会自动将正确的文件更改为相应的目标。


谢谢,伙计!这真的很有帮助。你救了我的一天。 - Ivan

31

转到 项目 > 目标 > 构建设置 > 签名。

CODE_SIGN_ENTITLEMENTS 中,放入您的路径:

$(SRCROOT)/ProjectName/PathToFolder/YourProject.entitlements

在这里,您可以选择不同路径来配置 DebugRelease


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接