private static void SetGeneralSetting(string pathToBuildProject, ProjectXcodeConfigure configure) { QuickInfoPlist plist = new QuickInfoPlist(pathToBuildProject); if (plist.CanLoad) { plist.Load(); plist.SetATS(configure.Global.EnableATS); plist.SetStatusBar(configure.Global.EnableStatusBar); plist.SetLaunchImages(configure.Global.NeedToDeleteLaunchiImages); plist.Write(); } QuickPBXProject project = new QuickPBXProject(pathToBuildProject); if (project.CanLoad) { project.Load(); project.SetBitCode(configure.Global.EnableBitCode); project.SetCppExceptions(configure.Global.EnableCppExceptions); project.SetCppRtti(configure.Global.EnableCppRtti); project.SetObjcExceptions(configure.Global.EnableObjcExceptions); project.Write(); } }
private static void ModifyPBXProject(string pathToBuildProject, XcodeProjectPresetSettings setting, string exportMethod = null) { if (pathToBuildProject == null || setting == null || setting.PBXProject == null) { return; } XcodeProjectPresetSettings.XcodePBXProjectSettings pBXProjectSetting = setting.PBXProject; if (pBXProjectSetting == null) { return; } QuickPBXProject project = new QuickPBXProject(pathToBuildProject); if (project.CanLoad) { project.Load(); project.SetLinkerFlag(pBXProjectSetting.LinkerFlagArray); project.SetFrameworkSearchPaths(pBXProjectSetting.FrameworkSearchPaths); project.SetLibrarySearchPaths(pBXProjectSetting.LibrarySearchPaths); project.SetHeaderSearchPaths(pBXProjectSetting.HeaderSearchPaths); foreach (var file in pBXProjectSetting.CompileFiles) { if (file == null) { continue; } project.SetCompileFlagsForFile(file.File, file.HeadersDirectory, file.CompileFlags); } foreach (var file in pBXProjectSetting.CompileFiles) { if (file == null) { continue; } project.SetCompileFlagsForFile(file.File, file.HeadersDirectory, file.CompileFlags); } foreach (var frame in pBXProjectSetting.Frameworks) { if (frame == null) { continue; } project.AddFramework(frame.Path, frame.IsWeak); } foreach (var lib in pBXProjectSetting.Librarys) { if (lib == null) { continue; } project.AddLibrary(lib.File); } if (exportMethod != null) { if (exportMethod.Equals("AppStore") || exportMethod.Equals("AdHoc")) { foreach (var capability in pBXProjectSetting.Capabilities) { if (capability == null || !capability.Enable) { continue; } project.AddCapability(capability.PBXCapability, capability.EntitlementsFilePath, capability.AddOptionalFramework); } } } project.Write(); } project = new QuickPBXProject(pathToBuildProject); if (project.CanLoad) { if (pBXProjectSetting.Folders != null) { foreach (var folder in pBXProjectSetting.Folders) { if (string.IsNullOrEmpty(folder)) { continue; } QuickXcodeDirectory.CopyAndAddBuildToXcode(project.Proj, project.TargetGuid, folder, pathToBuildProject, string.Empty); } } project.Write(); } }