CompileStoryboard 构建命令失败

Posted

技术标签:

【中文标题】CompileStoryboard 构建命令失败【英文标题】:CompileStoryboard build command failed 【发布时间】:2014-11-10 18:47:21 【问题描述】:

我们为生成 ios 应用的夜间构建而运行的持续集成作业在我们的项目上运行了一个 xcodebuild 命令,但今天它失败了,输出如下:

以下构建命令失败:

CompileStoryboard

令人吃惊的是,该项目在 Xcode 中构建良好,并且运行时没有任何问题。这个问题的根源是故事板,由团队成员提供(因为它是不同模块的一部分)并在不同版本的 Xcode 上创建。故事板作为现有文件包含在项目中(右键单击 -> 添加)

有什么我可以尝试不同的方法来成功构建 CI 作业吗? 我已经打开了故事板,它包含一个表格视图,其中插座等连接正确。还尝试清理项目并重建。

【问题讨论】:

故事板是刚刚引用还是复制到项目中,我建议将其删除并将其添加到项目中,并确保选中 Copy if necessary。 我做了后者,添加了它并确保它是项目的一部分 即使是使用相同版本的 Xcode 创建的故事板,我也能看到这一点。 xcodebuild 将失败并发出该消息,但重试通常有效。可能是一些错误 【参考方案1】:

检查它是否包含在“复制资源”中,但包含在“编译源”中。还要检查它是否没有出现两次(那些 git 合并...)

【讨论】:

【参考方案2】:

这可能会发生,因为较旧的代码可能与较旧的 xcode 故事板版本一起使用。您的新代码可能已使用新的 xCode 版本编译。只需在所有storyboards中稍作改动,修改其版本号并提交,就有可能成功。为我工作。

【讨论】:

我正在使用 Infer(Facebook 的代码分析工具),当我将项目中的故事板更改为使用 XCode 7.x 而不是 XCode 8.0 进行编译时,infer 能够构建并检查项目。也许它会在未来帮助某人。现在我需要看看 Infer 是否有 Xcode8.0 的更新。【参考方案3】:

仔细检查故事板是否在您构建应用程序所用的正确版本的 Xcode 中打开。这可以在 Xcode 的文件检查器中从实用程序窗格中检查。如果情节提要在 Xcode 8/7 中打开,但您使用 Xcode 7/6 构建应用程序,则必须更改情节提要的“打开方式”属性(或使用匹配的 Xcode 版本进行构建)。如果您使用xcodebuild(或fastlane,隐式使用xcodebuild)来自动化您的构建,这与您使用的命令行工具的版本有关。 命令行工具版本可以在 Preferences -> Locations 窗格中更改。

【讨论】:

当我更改它时,它会自动恢复到旧设置。【参考方案4】:

我遇到了这个问题,这与以下事实有关班级。 该项目构建良好,一切正常,除了 azure devOps 管道 CI 构建,它给了我上面的 ^^ 错误:

** 构建失败 **

以下构建命令失败: CompileStoryboard /Users/*/ProductDetail.storyboard (1 次失败)

##[error]Error: /usr/bin/xcodebuild failed with return code: 65

【讨论】:

以上是关于CompileStoryboard 构建命令失败的主要内容,如果未能解决你的问题,请参考以下文章

命令阶段脚本执行失败,退出代码为非零,反应原生 IOS

如何防止 webpack 在 eslint 错误上构建失败?

Cordova 构建失败:启动现代编译器时出错

Visual Studio 2012 命令行构建 - 检测构建失败

构建步骤“执行 Windows 批处理命令”将构建标记为失败已完成:失败

构建命令失败