简单来说就是unity提供一套api去修改xcode项目工程配置以及修改plist文件内容(当unity build结束后, 会自动回调OnPostProcessBuild).
以下是一些用到的配置处理:
ENABLE_BITCODE
AddFramework
https
NSPhotoLibraryUsageDescription
1 [PostProcessBuild] 2 public static void OnPostprocessBuild(BuildTarget BuildTarget, string path) 3 { 4 if (BuildTarget == BuildTarget.iOS) 5 { 6 UnityEngine.Debug.Log("XCodePostProcess: Starting to perform post build tasks for iOS platform."); 7 8 /*======== projPath ========*/ 9 string projPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj"; 10 11 PBXProject proj = new PBXProject(); 12 proj.ReadFromFile(projPath); 13 14 string target = proj.TargetGuidByName("Unity-iPhone"); 15 16 // ENABLE_BITCODE=False 17 proj.SetBuildProperty(target, "ENABLE_BITCODE", "false"); 18 19 // add extra framework(s) 20 proj.AddFrameworkToProject(target, "Security.framework", false); 21 proj.AddFrameworkToProject(target, "CoreTelephony.framework", true); 22 proj.AddFrameworkToProject(target, "libz.tbd", true); 23 24 // rewrite to file 25 File.WriteAllText(projPath, proj.WriteToString()); 26 27 string plistPath = path + "/Info.plist"; 28 PlistDocument plist = new PlistDocument(); 29 p