版本: Unity 6 (6000.0)
语言英语
  • C#

EditorUserBuildSettings.SwitchActiveBuildTargetAsync

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提供的每个建议的更改,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请 <a>重试</a> 几分钟后。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static bool SwitchActiveBuildTargetAsync(BuildTargetGroup targetGroup, BuildTarget target);

参数

targetGroup 目标构建平台。
target 构建目标组。

返回值

bool 如果构建目标成功切换,则为 True,否则为 False(例如,如果许可证检查失败,文件丢失,或用户已通过 UI 取消操作)。

描述

选择一个新的构建目标,在下一个编辑器更新期间处于活动状态。

此函数在下一个编辑器更新期间将传递的构建目标切换为活动构建。

当您更改活动构建目标时,所有受当前平台设置影响的脚本文件和资源将在下一个编辑器更新时重新编译或重新导入。有关如何立即导入资源的信息,请参阅 SwitchActiveBuildTarget

如果给定目标是独立目标,则调用 SwitchActiveBuildTarget 还会影响 EditorUserBuildSettings.selectedStandaloneTarget

注意:在编辑器以 批处理模式 运行时,此函数不可用。更改构建目标需要为给定目标重新编译脚本代码,而这在脚本代码执行时无法完成。在编辑器中这不是问题,因为操作被推迟到下一个编辑器更新。但是,在批处理模式下,编辑器将在执行指定的脚本代码后停止,因此无法推迟操作。要设置在批处理模式下使用的构建目标,请使用 buildtarget 命令行参数。

using UnityEngine;
using UnityEditor;
using UnityEditor.Build;

public class SwitchPlatformExample : IActiveBuildTargetChanged { [MenuItem("Example/Switch Platform")] public static void PerformSwitch() { // Switch to Windows standalone build. EditorUserBuildSettings.SwitchActiveBuildTargetAsync(BuildTargetGroup.Standalone, BuildTarget.StandaloneWindows); }

public int callbackOrder { get { return 0; } } public void OnActiveBuildTargetChanged(BuildTarget previousTarget, BuildTarget newTarget) { Debug.Log("Active platform is now " + newTarget); } }