Version: 2021.1
开发版
Xcode framework

导出前和导出后方法

导出前和导出后方法允许您在 Unity 项目编译之前和之后触发操作。这些方法必须作为代码存在于项目内的 Asset 文件夹的 Editor 文件夹中。如果目录中不存在此文件夹,请在 Asset 文件夹中右键单击,然后转至 Create__>__Folder 并将其命名为 “Editor”。

__重要信息__:UnityEngine.CloudBuild.BuildManifestObject 类仅在 Cloud Build 中(在其中而在非本地)运行时才可用。要在本地编译您的代码,请将导出前和导出后方法放入 #if UNITY_CLOUD_BUILD 块中。

应在编译目标的 Advanced Options(高级选项)中设置导出前和导出后方法。有关更多信息,请参阅高级选项

Edit Advanced Options 屏幕
Edit Advanced Options 屏幕

导出前方法名称

要使用导出前方法,请在 Unity 项目中创建一个公有静态方法,并在其中添加需要在 Unity Editor 导出项目之前执行的代码。

public static void PreExport()

通过将 BuildManifestObject 对象指定为方法签名中的参数,即可使 Cloud Build 将当前编译的编译清单传递到导出前方法。随后可以在导出项目之前更改项目设置或 Player 设置。

public static void PreExport(UnityEngine.CloudBuild.BuildManifestObject manifest)

Unity Cloud Build 调用该方法时,它会将 BuildManifestObject 对象作为可选参数传递(其中的 BuildManifestObject 是当前编译的编译清单)。

有关更多信息,请参阅 ScriptableObject 格式的编译清单

导出后方法名称

要使用导出后方法,请在 Unity 项目中创建一个公有静态方法,并在其中添加需要在 Unity Editor 导出项目之后执行的代码。

public static void PostExport(string exportPath)

Unity Cloud Build 调用该方法时,它将传递字符串:

  • 对于非 iOS 编译目标,该字符串包含导出的项目的路径。

  • 对于 iOS 项目,该字符串包含导出的 Xcode 项目的路径。在调用 Xcode 以完成编译过程之前,可使用此路径找到导出的 Xcode 项目,从而执行额外的预处理。

__注意__:如果已使用 Unity PostProcessBuildAttribute 标记了代码中的任何方法,那么这些方法的执行时间将先于 Unity Cloud Build 中任何配置为导出后方法的方法。

开发版
Xcode framework