コード例 #1
0
        private static void SetInfoPlist(string pathToBuildProject, XcodeProjectPresetSettings setting)
        {
            if (pathToBuildProject == null || setting == null || setting.InfoPlist == null)
            {
                return;
            }
            XcodeProjectPresetSettings.XcodeInfoPlistSettings infoPlistSetting = setting.InfoPlist;
            QuickInfoPlist plist = new QuickInfoPlist(pathToBuildProject);

            if (plist.CanLoad)
            {
                plist.Load();
                plist.SetPrivacySensiticeData(infoPlistSetting.PrivacySensiticeData, "privacySensiticeData");
                plist.SetApplicationQueriesSchemes(infoPlistSetting.ApplicationQueriesSchemes);
                plist.SetBackgroundModes(infoPlistSetting.BackgroundModes);
                plist.SetDomains(infoPlistSetting.Domains);
                foreach (var set in infoPlistSetting.Permissions)
                {
                    if (set == null)
                    {
                        continue;
                    }
                    plist.SetPermission(set.permissionName, set.describe);
                }
                foreach (var urlData in infoPlistSetting.BundleURLTypes)
                {
                    if (urlData == null)
                    {
                        continue;
                    }
                    plist.SetURLSchemes(urlData.BundleTypeRole, urlData.BundleURLName, urlData.BundleURLSchmes);
                }

                plist.Write();
            }
        }
コード例 #2
0
        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();
            }
        }