先說解決方法:
在腳本的196行冈钦,也就是?“ for dsymFile in $(find "$DSYM_FOLDER" -name '*.dSYM'); do ” 這行代碼之前加入“sleep 2s”命令揭蜒,
也就是?
????????????#延時兩秒后再執(zhí)行zip操作
? ? ? ? ? ? sleep 2s
? ? ? ? ? ? #
? ? ? ? ? ? for dsymFile in $(find "$DSYM_FOLDER" -name '*.dSYM'); do
? ? ? ? ? ? RET="T"
? ? ? ? ? ? echo "Found dSYM file: $dsymFile"
其目的就是為了使 “zip -r -j $DSYM_SYMBOL_ZIP_FILE $dsymFile -x *.plist” 這句命令延后2秒再執(zhí)行沮翔。
Bugly提供了?使用腳本自動配置直接上傳dSYM文件 的功能工秩,但是在xcode10時沉颂,發(fā)現(xiàn)Bugly網(wǎng)站上的“符號表管理”頁面沒有對應(yīng)的dSYM文件纯露,檢查xcode的編譯時腳本輸出促脉,發(fā)現(xiàn)以下錯誤提示:
zip error: Nothing to do! (..........)
Error: Failed to upload the zip archive file.
FAILTURE - dSYM upload complete.
Failed to upload the dSYM
以上的錯誤關(guān)鍵都在于第一個錯誤zip error: Nothing to do!辰斋。因為zip沒有壓縮成功,所以找不到要上傳的 *.dSYM.zip而導(dǎo)致上傳符號表失敗瘸味。
zip error: Nothing to do! 這句話的意思是沒有要壓縮的文件宫仗,沒做任何事。
經(jīng)不斷的測試及猜測旁仿,認(rèn)為可能是執(zhí)行zip命令時藕夫,dSYM符號表文件是還沒有生成的,所以沒有文件能壓縮枯冈。簡單粗暴的在zip前加了個2s延時的命令毅贮,不再報錯,成功上傳Bugly尘奏。
但這種方式畢竟是粗暴的滩褥,就像在iOS的代碼里面不知道什么時候刷新界面就隨便加了個延時函數(shù),是不怎么可靠的炫加。不過起碼解決了我的燃眉之急瑰煎。