- Home /
Not able to add iCloud to XCode project via PostProcessing script using the XCodeAPI
Hi,
I am not able to add the iCloud service to my XCode project by using the XCodeAPI.
I am adding it via a PostProcessBuild in Unity and I AM able to add a lot of other things, such as frameworks etc. I want to have a post process script to help me set up the XCode project, so I don't need to do it manually.
First, I thought the issue was using the "ProjectCapabilityManager", but I am able to add other capabilities, such as the GameCenter with no problem.
I have also tried the project.AddCapability("stuff there") approach, but that did not work either
I am using Unity 2019.4.1 (LTS) and Xcode 12.1
Here is my PostProcessing script:
public class PostProcessIOS
{
const string XCODE_PROJ = "/Unity-iPhone.xcodeproj/project.pbxproj";
[PostProcessBuild(800)]
public static void OnPostProcessBuild(BuildTarget target, string pathToBuiltProject)
{
if (target != BuildTarget.iOS)
return;
var fullProjectPath = pathToBuiltProject + XCODE_PROJ;
//Get the Xcode project
var project = new PBXProject();
project.ReadFromString(File.ReadAllText(fullProjectPath));
string targetGuid = project.GetUnityFrameworkTargetGuid();
project.AddFrameworkToProject(targetGuid, "WebKit.framework", false);
project.AddFrameworkToProject(targetGuid, "MobileCoreServices.framework", false);
project.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-ObjC");
project.AddBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
var capabilityManager = new ProjectCapabilityManager(fullProjectPath, "Unity-iPhone/mmk.entitlements", "Unity-iPhone");
capabilityManager.AddGameCenter(); //Works fine
capabilityManager.AddiCloud(false, true, null); //Why U No Work?
capabilityManager.WriteToFile();
//Write the changes
File.WriteAllText(fullProjectPath, project.WriteToString());
}
}
Answer by RonniNielsen · Jan 12, 2021 at 10:42 AM
Update: A colleague found a solution. It is simple the order of when you write to which file: https://forum.unity.com/threads/pbxproject-fails-to-apply-icloud-capabilities-in-2019-4.1032634/
Your answer

Follow this Question
Related Questions
PostProcessing iOS Activate Background Mode for Push Notifications 1 Answer
UnityEditor.iOS.Xcode does not exist 0 Answers
Unity Mobile Notifications does not add Push Notification Capability to XCode Project 2 Answers
Xcode DebugFocusItem 0 Answers
How can I set a push notification of Capability in PostProcess? 0 Answers