ios - Unity3D/iOS : Running a shell script post-Xcode build

标签 ios xcode macos unity-game-engine

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

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

最佳答案

取决于你想投入多少工作。

解决方案 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 在设备上手动运行

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

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

Jenkins :http://jenkins-ci.org


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

关于ios - Unity3D/iOS : Running a shell script post-Xcode build,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31616356/

相关文章:

ios - 根据构建配置嵌入不同的框架

c++ - AudioConverterNew 返回 -50

ios - 我在 XCode Interface builder 中几乎没有 Controller 选项

ios - 如何从 UIView 访问 UI 元素

ios - 当 voip 应用程序在后台被 iOS 杀死时,有没有办法得到通知并做一些最后的工作?

xcode - 重试 30 次后无法获取主窗口 : kAXErrorServerNotFound

iphone - NSURLConnection 下载委托(delegate)方法未被调用

IOS swift View.frame.width 错误

objective-c - 当我修改文件时发送 kevent NOTE_DELETE

ruby - 如何在 Mac OS 上恢复/System/Library/Frameworks/Ruby.framework/Versions/1.8?