49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
#if UNITY_IPHONE
|
|
|
|
using System.IO;
|
|
using UnityEditor;
|
|
using UnityEditor.Callbacks;
|
|
using UnityEditor.iOS.Xcode;
|
|
|
|
namespace ThinkingAnalytics.Editors
|
|
{
|
|
public class TD_PostProcessBuild
|
|
{
|
|
[PostProcessBuild]
|
|
public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
|
|
{
|
|
if (buildTarget != BuildTarget.iOS)
|
|
{
|
|
return;
|
|
}
|
|
|
|
string projPath = PBXProject.GetPBXProjectPath(path);
|
|
|
|
PBXProject proj = new PBXProject();
|
|
proj.ReadFromString(File.ReadAllText(projPath));
|
|
|
|
string mainTargetGuid;
|
|
string unityFrameworkTargetGuid;
|
|
|
|
var unityMainTargetGuidMethod = proj.GetType().GetMethod("GetUnityMainTargetGuid");
|
|
var unityFrameworkTargetGuidMethod = proj.GetType().GetMethod("GetUnityFrameworkTargetGuid");
|
|
|
|
if (unityMainTargetGuidMethod != null && unityFrameworkTargetGuidMethod != null)
|
|
{
|
|
mainTargetGuid = (string)unityMainTargetGuidMethod.Invoke(proj, null);
|
|
unityFrameworkTargetGuid = (string)unityFrameworkTargetGuidMethod.Invoke(proj, null);
|
|
}
|
|
else
|
|
{
|
|
mainTargetGuid = proj.TargetGuidByName ("Unity-iPhone");
|
|
unityFrameworkTargetGuid = mainTargetGuid;
|
|
}
|
|
|
|
proj.AddBuildProperty(unityFrameworkTargetGuid, "OTHER_LDFLAGS", "-ObjC");
|
|
|
|
File.WriteAllText(projPath, proj.WriteToString());
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif |