Skip to content

Instantly share code, notes, and snippets.

@keijiro
Created July 2, 2015 03:08
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save keijiro/25bab1bb04de432f709f to your computer and use it in GitHub Desktop.
Save keijiro/25bab1bb04de432f709f to your computer and use it in GitHub Desktop.
(Unity Xcode Manipulation API) An example which modifies compiler flags for a given source file.
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using System.IO;
public class PbxModifier
{
[PostProcessBuild]
public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS) {
string projPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
PBXProject proj = new PBXProject();
proj.ReadFromString(File.ReadAllText(projPath));
string target = proj.TargetGuidByName("Unity-iPhone");
string file = proj.FindFileGuidByProjectPath("Classes/UnityAppController.mm");
var flags = proj.GetCompileFlagsForFile(target, file);
flags.Add("-fno-objc-arc");
proj.SetCompileFlagsForFile(target, file, flags);
File.WriteAllText(projPath, proj.WriteToString());
}
}
}
@dilipje
Copy link

dilipje commented Feb 23, 2016

Where to put this file in Unity Project?

@danoli3
Copy link

danoli3 commented Mar 6, 2017

@dilipje In the Editor Folder as a Post Build Script.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment