/// <summary> /// projmods ファイルの設定値を XCode プロジェクト設定へ反映する /// </summary> /// <param name="path">出力先のパス(ビルド時に指定するパス)</param> private static void ProcessXCodeProject(string path) { XCProject project = new XCProject(path); string modsPath = System.IO.Path.Combine(path, "Lobi"); string[] files = System.IO.Directory.GetFiles(modsPath, "*.projmods", System.IO.SearchOption.AllDirectories); foreach (string file in files) { project.ApplyMod(file); } #if UNITY_5 // To need to add a `-fno-objc-arc` flag if building in Unity5. string librariesPath = System.IO.Path.Combine(path, "Libraries/Plugins/iOS"); string[] filePathList = System.IO.Directory.GetFiles(librariesPath); PBXDictionary <PBXBuildFile> buildFiles = project.buildFiles; foreach (KeyValuePair <string, PBXBuildFile> kvp in buildFiles) { string fileName = kvp.Key; foreach (string targetPath in filePathList) { string extention = System.IO.Path.GetExtension(targetPath); if (!(extention == ".m" || extention == ".mm")) { continue; } string targetName = System.IO.Path.GetFileName(targetPath); if (!fileName.Contains(targetName)) { continue; } PBXBuildFile file = kvp.Value; file.AddCompilerFlag("\"-fno-objc-arc\""); } } #endif project.Save(); }