Jenkins 中的 XcodeBuild 框架出现错误

Posted

技术标签:

【中文标题】Jenkins 中的 XcodeBuild 框架出现错误【英文标题】:XcodeBuild Framework in Jenkins Getting Error 【发布时间】:2017-06-20 00:30:33 【问题描述】:

尝试在 Jenkins 中使用 XcodeBuild 构建框架。应该生成两个文件:

foo.bundle
foo.framework

如果我在命令行中构建,没问题:

xcodebuild -workspace foo.xcworkspace -sdk "iphoneos" -scheme "Framework"

但如果我在 Jenkins 中使用它,我会得到一个错误:

sh "xcodebuild -workspace \"$WORKSPACE/app/$env.PROJECT_XC_WORKSPACE_FILE\" -sdk \"iphoneos\" -scheme \"$schemeName\""

目标编译但最终失败:

❌错误: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: 找不到文件:-lPods-FooSDKExternal

❌错误: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: 文件:-lPods-FooSDKExternal 不是目标文件(不允许在 图书馆)

有人知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

这可能是因为您正在使用不同的工作目录。检查您的变量以查看是否 1.) 它们输出的文本与您的手动命令相同,以及 2.) 验证您使用的工作目录与手动命令行条目是否相同。

【讨论】:

我在 xcodebuild 命令前面添加了一个 cd 命令(在同一个 sh 调用中),cd 到正确的路径,但仍然得到相同的错误。检查了 sh 命令的输出,它看起来和在 bash 中调用的一样。 想通了:使它起作用的是将-sdk "iphoneos"更改为-sdk "iphonesimulator"。 :)

以上是关于Jenkins 中的 XcodeBuild 框架出现错误的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins上的Xcodebuild代码签名错误

xcodebuild 通过 Jenkins 失败

从 Jenkins 运行时 xcodebuild 失败(在终端中工作)

在 CI (Travis/Jenkins) 环境中使用 xcodebuild (Xcode 8) 和自动签名

xcodebuild 无法通过 Jenkins 启动“/Applications/Xcode.app/Contents/Developer/Tools/otest”

詹金斯 xcodebuild 失败