标题unity ios后处理xcode添加Capability有两个方法添加,但实测有效的的只有一个。
下面是第一个:pBXProject.AddCapability,实测么得用
[PostProcessBuild(1)]
public static void OnPost(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
{
string projectPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
PBXProject pBXProject = new PBXProject();
pBXProject.ReadFromFile(projectPath);
string targetGuid = pBXProject.GetUnityMainTargetGuid();
pBXProject.AddCapability(targetGuid, PBXCapabilityType.GameCenter);
pBXProject.WriteToFile(projectPath);
}
}
下面是第二个:通过ProjectCapabilityManager 来添加,实测没问题
[PostProcessBuild(1)]
public static void OnPost(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
{
string projectPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
//xxx是项目得名称,一定要修改成对应的项目名称
ProjectCapabilityManager projectCapabilityManager = new
ProjectCapabilityManager(projectPath, "XXX.entitlements", "Unity-iPhone");
projectCapabilityManager.AddSignInWithApple();
projectCapabilityManager.AddGameCenter();
projectCapabilityManager.AddPushNotifications(true);
projectCapabilityManager.WriteToFile();
}
}