카테고리 없음

unity 에서 ios 빌드후 xcode 셋팅을 수정하는 방법

소나무꼴 2019. 8. 14. 16:33
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()); 
		} 
    } 
}