【问题标题】:Unity3D/iOS: Running a shell script post-Xcode buildUnity3D/iOS:在 Xcode 构建后运行 shell 脚本
【发布时间】:2015-10-15 11:17:03
【问题描述】:

为 iOS 项目单击“构建并运行”时,Unity 会生成一个 Xcode 项目,启动 Xcode,构建项目,然后在设备上运行它。我想在 Xcode 完成构建之后但在它运行之前运行一个 shell 脚本。如果这只是一个 Xcode 项目,我可以简单地在 Build Phases 选项卡中添加一个“运行脚本”条目,但由于这个项目是由 Unity 自动生成的,我不知道如何继续。

(如果重要的话,我正在运行 OS X Yosemite。)

【问题讨论】:

    标签: ios xcode macos unity3d


    【解决方案1】:

    取决于您要为此投入多少工作。

    解决方案 A:使用 Unity 的 PostProcess

    您可以使用 Unity 的 PostProcess 来相应地修改 Xcode 项目。 只需用[PostProcessBuild] 注解标记一个静态方法,Unity 将在 Unity 构建后执行它。

    例子:

    [PostProcessBuild]
    static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
    {
         // modify the Xcode project here, or run the shell script directly (if it is ok to do this already here)
    }
    

    来源:

    解决方案 B:附加 Xcode 项目

    您可以相应地修改您的 Xcode 项目,然后在开始下一个构建时使用 Append,当检测到该文件夹​​已存在时,Unity 会询问要做什么。

    解决方案 C:手动操作

    • 使用Build 代替Build And Run
    • 在 Unity 完成构建后修改 Xcode 项目
    • 使用 Xcode 在设备上手动 Run

    解决方案 D:以批处理模式运行构建/像 Jenkins 一样使用 CI

    您可以从命令行(终端)调用构建,并在不同构建步骤期间/之间执行您想要的任何操作。但由于这是很多工作,我建议看一下像 Jenkins 这样的 CI。它带有适用于 Mac OS X 的安装程序,设置起来并不难。我想有很多关于它的文档和问答。

    詹金斯:http://jenkins-ci.org


    我希望有适合您需求的东西。如果您需要更多帮助或信息,请告诉我。干杯。

    【讨论】:

    • 谢谢,这是一个非常详尽的列表。在这种情况下,可能的过程可能是使用选项 A 通过编辑项目文件来注入“运行脚本”构建阶段。不幸的是,Python 库不支持添加构建阶段,但我尝试手动添加,这并没有什么困难。干杯!
    猜你喜欢
    • 2015-06-09
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2019-04-09
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    相关资源
    最近更新 更多