2017-06-20 60 views
0

尝试在Jenkins中使用XcodeBuild构建框架。有两个文件应该产生:Jenkins中的XcodeBuild框架获取错误

foo.bundle 
foo.framework 

如果我在命令行建立,没有问题:

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

但是,如果使用在詹金斯我得到一个错误:

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

目标编译但最终失败:

❌ error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't locate file for: -lPods-FooSDKExternal

❌ error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: -lPods-FooSDKExternal is not an object file (not allowed in a library)

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

回答

0

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

+0

我在xcodebuild命令前面(在同一个sh调用中)添加了一个cd命令,cd到正确的路径但仍然收到相同的错误。检查了sh命令的输出,它看起来与在bash中调用一样。 – BadmintonCat

+0

想通了:它的工作原理是将'-sdk“iphoneos”'更改为'-sdk“iphonesimulator”'。 :) – BadmintonCat