首页 > 解决方案 > 在 Unity 中使用 ProjectCapabilityManager 向 Xcode 输出添加权利时,CODE_SIGN_ENTITLEMENTS 不正确

问题描述

我正在使用 ProjectCapabilityManager OnPostprocessBuildIOS 来自动化启用功能的过程,特别是“关联域”,并将 applinks:mydomain.xxx 添加为我在 Unity3d 中的 iOS 游戏的关联域。

这是我正在使用的代码(对字符串值几乎没有修改):

    string pbxPath = PBXProject.GetPBXProjectPath(pathToBuiltProject);
    string entitlementsFileName = "myproject.entitlements";
    var entitlements = new ProjectCapabilityManager(pbxPath, entitlementsFileName, PBXProject.GetUnityTargetName());      
    entitlements.AddAssociatedDomains(new string[] { "applinks:mydomain.xxx" });
    entitlements.WriteToFile();

问题是 Xcode 中的项目最终将有两个由空格分隔的权利文件地址作为 CODE_SIGN_ENTITLEMENTS 的值,例如:

myproject.entitlements Unity-iPhone/Unity-iPhone.entitlements

并且 Xcode 说验证目标“Unity-iPhone”的 CODE_SIGN_ENTITLEMENTS 构建设置的值是否正确,并且该文件存在于磁盘上。如果我从 CODE_SIGN_ENTITLEMENTS 中删除这两个文件中的任何一个,则不再有错误。

我应该如何解决这个问题?

标签: iosxcodeunity3d

解决方案


推荐阅读