有時候,我們需要安裝不止一個xcode版本,如何安裝多個xcode版本,參考我的另一篇博客:https://www.cnblogs.com/zndxall/p/12463744.html,可以完成整個自動切換的過程,但是當集成到jenkins中調用時,就可能切換失敗了。
場景:我升級了mac的系統版本,然后jenkins中調用腳本切換xcode版本,結果失敗了:
這兩個框,上是我輸出的當前版本,下是我執行了中間的切換過程,輸出的切換后的版本,發現沒有從11.3切換到10,切換失敗了。
然后分析原因,發現中間的切換過程:“Configured with: ---”那一條的xcode路徑依然是xcode11.3的路徑,沒有變更成xcode10的路徑(我的xcode10的路徑是:/Applications/Xcode10/Xcode.app),但是再mac機器上執行這個切換過程就沒有問題,那應該又是jenkins沒有讀取到環境變量導致的了。
解決:
設置DEVELOPER_DIR
即在切換xcode版本之前,執行export DEVELOPER_DIR切換環境變量,如下
就在腳本里加了這兩條,腳本詳細內容,參考文章開頭給的設置多版本xcode時的鏈接:https://www.cnblogs.com/zndxall/p/12463744.html 其中的test.sh
另外(2020.6.22補充):最佳偶然打開xcode發現,就算我執行了上面的./expect_xcode 10從xcode11切換到xcdoe時,但是xcode工具的版本還是顯示xcode11,這就讓我一度懷疑之前的切換是否成功,但是我再命令行執行xcodebuild -version,看到的的確是xcode10呀,為啥和xcode的“About Xcode”看到的版本不一樣呢?
查找資料過程中,看到了以下描述,讓我確定我的確是切換了:
打開xcode
偏好設置,選擇location,顯示如下(我的顯示的是xcode10)
“About Xcode”在電腦重啟后,顯示的也是切換后的xcode版本。