2017-06-20 66 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