using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using System.IO;
public class IOSBuildXocdeEditor : MonoBehaviour {
[PostProcessBuild(999)]
public static void AddCapabilities(BuildTarget buildTarget, string pathToBuiltProject)
{
if (buildTarget == BuildTarget.iOS)
{
string projPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
UnityEditor.iOS.Xcode.PBXProject proj = new UnityEditor.iOS.Xcode.PBXProject();
proj.ReadFromString(File.ReadAllText(projPath));
string target = proj.TargetGuidByName("Unity-iPhone");
proj.AddCapability(target, PBXCapabilityType.BackgroundModes);
proj.AddCapability(target, PBXCapabilityType.InAppPurchase);
proj.AddFrameworkToProject(target, "iAd.framework", false);
File.WriteAllText(projPath, proj.WriteToString());
// Add background modes
string plistPath = pathToBuiltProject + "/Info.plist";
PlistDocument plist = new PlistDocument();
plist.ReadFromString(File.ReadAllText(plistPath));
PlistElementDict rootDict = plist.root;
PlistElementArray arr = rootDict.CreateArray("UIBackgroundModes");
arr.AddString("remote-notification");
File.WriteAllText(plistPath, plist.WriteToString());
}
}
}