C# 桌面(非iOS)Unity Xcode生成上的AddBuildProperty?

C# 桌面(非iOS)Unity Xcode生成上的AddBuildProperty?,c#,unity3d,build-automation,C#,Unity3d,Build Automation,在Unity中,优秀的后处理器使添加构建标志变得非常容易 在iOS项目上。。。 “PBXProject”的字面意思是“the.pbxproj文件”,也就是说,plist文本文件 比如说,这样做非常容易 project.AddBuildProperty(g, "SOME_FLAG", "--whoa"); 或者添加一个框架等等 Mac桌面版本怎么样? 这对于iOS构建来说非常好,但是如何在OSX桌面项目上“添加BuildProperty”呢 似乎没有“独立

在Unity中,优秀的后处理器使添加构建标志变得非常容易

在iOS项目上。。。 “PBXProject”的字面意思是“the.pbxproj文件”,也就是说,plist文本文件

比如说,这样做非常容易

project.AddBuildProperty(g, "SOME_FLAG", "--whoa");
或者添加一个框架等等

Mac桌面版本怎么样? 这对于iOS构建来说非常好,但是如何在OSX桌面项目上“添加BuildProperty”呢

似乎没有“独立项目”或类似的结构

这是怎么做到的


我需要添加其他\u代码\u符号\u标志——深。目前,我必须创建Xcode项目,并且每次都要手工完成。当然,有一种方法可以将Unity出色的
AddBuildProperty
或类似调用用于桌面项目?

这里有一种混乱的方法来完成它:

using System.IO;
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;

public class BuildPostProcessor
{

    [PostProcessBuildAttribute(1)]
    public static void OnPostProcessBuild(BuildTarget target, string path)
    {
        if (target == BuildTarget.StandaloneOSX)
        {
            string macStylePath = path + "/project.pbxproj";

            string s = File.ReadAllText(macStylePath);
            s = s.Replace(
                "CODE_SIGN_STYLE = Automatic;",
                "CODE_SIGN_STYLE = Automatic;\n\t\t\tOTHER_CODE_SIGN_FLAGS = --deep;");

            File.Delete(macStylePath);
            File.WriteAllText(macStylePath, s);
            Debug.Log("OnPostProcessBuild ... added that flag'");
        }
    }
}

没有真正干净的方法来了解这些文件的本质,所以只需对相关项目进行grep,在其中添加一些内容。它是有效的。

事实证明,目前Unity只是不公开mac桌面的任何后期处理。。。叹息
using System.IO;
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;

public class BuildPostProcessor
{

    [PostProcessBuildAttribute(1)]
    public static void OnPostProcessBuild(BuildTarget target, string path)
    {
        if (target == BuildTarget.StandaloneOSX)
        {
            string macStylePath = path + "/project.pbxproj";

            string s = File.ReadAllText(macStylePath);
            s = s.Replace(
                "CODE_SIGN_STYLE = Automatic;",
                "CODE_SIGN_STYLE = Automatic;\n\t\t\tOTHER_CODE_SIGN_FLAGS = --deep;");

            File.Delete(macStylePath);
            File.WriteAllText(macStylePath, s);
            Debug.Log("OnPostProcessBuild ... added that flag'");
        }
    }
}