Xcode10 Version 10.0 (10A255)發佈,筆者第一時間升級。很顯然使用的過程當中出現了很多問題,相信你們都有所耳聞,最典型的就是libstdc++.6.0.9問題,網上已經有很多方法了,這裏就很少說了。html
除了這個問題以外,筆者還遇到了build system的問題。在Xcode菜單欄選擇File-- Workspace Setting
就會出現以下的界面 c++
New Build System(Default)
,在這個編譯系統的環境下,我打包的CI腳本一直會報錯
/bin/sh -c /Users/apple/Library/Developer/Xcode/DerivedData/XXX-bcebrkpahigmkngytwmzustybhev/Build/Intermediates.noindex/ArchiveIntermediates/XXX-SIT/IntermediateBuildFilesPath/XXX.build/Release-SIT-iphoneos/XXX.build/Script-187F7F6921537B0600C427DD.sh
[14:59:47]: ▸ Updating build number to 20180920145946
[14:59:47]: ▸ Set: Entry, ":CFBundleVersion", Does Not Exist
[14:59:47]: ▸ File Doesn't Exist, Will Create: /Users/apple/Library/Developer/Xcode/DerivedData/XXX-bcebrkpahigmkngytwmzustybhev/Build/Intermediates.noindex/ArchiveIntermediates/XXX-SIT/BuildProductsPath/Release-SIT-iphoneos/XXX.app.dSYM/Contents/Info.plist [14:59:47]: ▸ Command PhaseScriptExecution failed with a nonzero exit code 複製代碼
問題是出在了更改項目工程buildnumber的shell腳本里:shell
# Update build number with buldTime
buildNumber=$(date +%Y%m%d%H%M%S)
echo "Updating build number to $buildNumber"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}.dSYM/Contents/Info.plist"
複製代碼
這段腳本會在最後會把xxx.app.dSYM中的info.plist中的CFBundleVersion值修改爲當前時間,而報錯說,這個info.plist不存在,建立的時候出問題報錯。bash
這會不會是蘋果的bug??app
把build system切換到 Legacy Build System
,換言之就是切換成老的編譯系統,就OK了。iphone