【问题标题】:Unity command line arguments for android and iOS适用于 Android 和 iOS 的 Unity 命令行参数
【发布时间】:2013-11-13 01:27:14
【问题描述】:

请原谅我的无知,对使用 Unity3D 比较陌生。我正在从命令行自动化 Unity3d 构建。

我正在寻找用于构建 apk 和 xcode 项目的命令行参数。 Unity's documentation 确实提到了构建独立 Mac OSX 播放器 (-buildOSXPlayer) 和独立 Windows 播放器 (-buildWindowsPlayer) 的参数,但不适用于 android 和 iOS。

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: android ios unity3d


    【解决方案1】:

    从 Unity 自己的documentation for command line builds for iOS and android开始。

    例如,将此脚本放在您的 Assets/Editor 文件夹中:

    // C# example
    using UnityEditor;
    class Autobuilder
    {
         [MenuItem ("File/AutoBuilder/iOS")]
         static void PerformBuild ()
         {
             string[] scenes = { "Assets/MyScene.unity" };
    
             string buildPath = "../../../Build/iOS";
    
             // Create build folder if not yet exists
             Directory.CreateDirectory(buildPath);
    
             BuildPipeline.BuildPlayer(scenes, buildPath, BuildTarget.iOS, BuildOptions.Development);
         }
    }
    

    您实际上可以在 Unity 应用程序中运行此脚本,方法是转到 File -> Autobuilder -> iOS

    要在命令行上运行,它看起来像这样:

    /Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -executeMethod Autobuilder.PerformBuild -email me@email.com -password myPassword
    

    当然,您需要检查debug log 是否有任何错误:

    Mac OS X ~/Library/Logs/Unity/Editor.log
    Windows XP C:\Documents and Settings\用户名\Local Settings\Application Data_\Unity\Editor\Editor.log
    Windows Vista/7 C:\Users\用户名\AppData\Local\Unity\Editor\Editor.log

    【讨论】:

    • 这仅在我的情况下启动 Unity Hub
    • 如何指定要加载和构建的确切项目?
    【解决方案2】:

    -executeMethod 命令行参数是一个非常简单的选项,可以在您的任何脚本中调用任何函数 - 然后您可以使用它来执行几乎任何操作,包括启动 Android 构建。

    【讨论】:

    • 是的,这就是我最终所做的。创建了一个特殊的 Editor 类,其中包含负责为 Android 和 iOS 构建的方法。
    猜你喜欢
    • 2017-06-26
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2014-04-25
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多