public void InitWithExit(XcodeSetting xcodeSetting) { TeamID = xcodeSetting.TeamID; Version = xcodeSetting.Version; build = xcodeSetting.build; BundleIdentifier = xcodeSetting.BundleIdentifier; StaticlibraryList = xcodeSetting.StaticlibraryDic; buildPropertyList = xcodeSetting.buildPropertyDic; pListDataList = xcodeSetting.pListDataDic; urlSchemeList = xcodeSetting.urlSchemeDic; frameworkToProjectList = xcodeSetting.frameworkToProjectList; appQueriesSchemeList = xcodeSetting.appQueriesSchemeList; CopyFileDic = xcodeSetting.CopyFileDic; CopyFolderDic = xcodeSetting.CopyFolderDic; FilesCompileFlagDIC = xcodeSetting.FilesCompileFlagDIC; }
public void SaveSetting() { XcodeSetting xcodeSetting = new XcodeSetting(); xcodeSetting.TeamID = TeamID; xcodeSetting.Version = Version; xcodeSetting.build = build; xcodeSetting.BundleIdentifier = BundleIdentifier; xcodeSetting.StaticlibraryDic = StaticlibraryList; xcodeSetting.buildPropertyDic = buildPropertyList; xcodeSetting.pListDataDic = pListDataList; xcodeSetting.urlSchemeDic = urlSchemeList; xcodeSetting.frameworkToProjectList = frameworkToProjectList; xcodeSetting.appQueriesSchemeList = appQueriesSchemeList; xcodeSetting.CopyFileDic = CopyFileDic; xcodeSetting.CopyFolderDic = CopyFolderDic; xcodeSetting.FilesCompileFlagDIC = FilesCompileFlagDIC; FileHelper.CreatFile(XcodeSettingTxtPath, SerializeHelper.ToByteArray(xcodeSetting), true); }
public static void OnPostProcessBuild(BuildTarget target, string path) { if (BuildTarget.iOS != target) { return; } string[] s = AssetDatabasex.GetAssetPathStr("AppInfoConfig").Split('/'); string XcodeSettingPath = PathTool.ProjectPath; for (int i = 0; i < s.Length - 1; i++) { XcodeSettingPath += s[i] + "/"; } XcodeSettingPath += "Editor/XcodeSetting.txt"; if (XcodeSettingPath == "" || !FileHelper.JudgeFilePathExit(XcodeSettingPath)) { return; } XcodeSetting XcodeSetting = SerializeHelper.FromJson <XcodeSetting>(AssetDatabasex.LoadAssetOfType <TextAsset>("XcodeSetting").text); string projPath = PBXProject.GetPBXProjectPath(path); PBXProject pbx = new PBXProject(); pbx.ReadFromString(File.ReadAllText(projPath)); string guid = pbx.TargetGuidByName("Unity-iPhone"); iOSXcodeSet.SetTeamId(pbx, guid, XcodeSetting.TeamID); iOSXcodeSet.SetFrameworks(pbx, guid, XcodeSetting.frameworkToProjectList); iOSXcodeSet.SetLibs(pbx, guid, XcodeSetting.StaticlibraryDic); iOSXcodeSet.SetBuildProperty(pbx, guid, XcodeSetting.buildPropertyDic); //拷贝文件 iOSXcodeSet.CopyFiles(pbx, guid, XcodeSetting.CopyFileDic, path); iOSXcodeSet.CopyFolders(pbx, guid, XcodeSetting.CopyFolderDic, path); iOSXcodeSet.SetFilesCompileFlag(pbx, guid, XcodeSetting.FilesCompileFlagDIC); File.WriteAllText(projPath, pbx.WriteToString()); //修改Info.plist string plistPath = path + "/Info.plist"; iOSInfoPlist pListEditor = new iOSInfoPlist(plistPath); if (XcodeSetting.Version != "") { pListEditor.Update("CFBundleShortVersionString", XcodeSetting.Version); } if (XcodeSetting.build != "") { pListEditor.Update("CFBundleVersion", XcodeSetting.build); } if (XcodeSetting.BundleIdentifier != "" && XcodeSetting.BundleIdentifier.Split('.').Length >= 3) { pListEditor.Update("CFBundleIdentifier", XcodeSetting.BundleIdentifier); } foreach (var entry in XcodeSetting.pListDataDic) { pListEditor.Update(entry.Key, entry.Value, entry.infoType, entry.isAdd); } foreach (var urlScheme in XcodeSetting.urlSchemeDic) { pListEditor.UpdateUrlScheme(urlScheme.Key, urlScheme.Value, urlScheme.isAdd); } foreach (var whiteUrlScheme in XcodeSetting.appQueriesSchemeList) { pListEditor.UpdateLSApplicationQueriesScheme(whiteUrlScheme.Value, whiteUrlScheme.isAdd); } pListEditor.Save(); }