從iOS開發轉至iOS測試開發已經有四個月了,從最初連Appium是什么都不知道,到果斷舍棄,這是一邊學一邊實踐,一路糾結的過程。至此,想總結一下最近正在研究的自動化持續集成。
開發過程中,最頭疼的莫過于打包了,從Debug到Release,從各種三方庫報錯,到出一個包最少10分鐘,在這段時間什么都干不了。所以一點點收集資料:
(3)Jenkins、Git、CocoaPods、Fir.im
因為一直用的都是Fir.im,而最近fir更新了很多工具,并且支持Jenkins自動上傳包(iOS自動打包),所以一度妄想只使用fir來完成git拉取更新后自動打包并發布包至官方網頁,當然,由于剛出來不久,官網給出的資料也是非常之少(fir一鍵打包簡單的介紹),所以自己嘗試著去實現這個過程。結果自然是非常不理想,且不說多個target的情況下,打包報錯離奇;且在使用了Application Extension的工程中,無法完成打包。
于是不得不找到fastlane,實現打包。不論是從官方資料中看到滿滿的誠意(官方文檔),相對git(git地址)上的教程也是相當的詳細,可以說就fastlane本身的功能的來說,基本也算是足夠了。
于是就開始了漫長的自動打包之旅。
當然,其中在擴展應用中出現類似于以下的報錯是最為困擾的一點:
[16:05:22]:??ld: library not found for -lYYModel
[16:05:22]:??clang: error: linker command failed with exit code 1 (use -v to see invocation)
至今也沒有找到特別簡單的方法,只有不斷的替換干凈的工程文件,才能消除這個錯誤。
從安裝到實現打包花了一部分時間后,自然是想用Jenkins完成自動化持續集成的,可悲的是,雖然參考了大量的文獻,從錯誤提示中也試著去解決,但是仍然無法實現Jenkins的自動打包。當然,這個問題正在解決之中,希望在完成了近階段對Ruby語言編寫腳本(ruby簡介)的理念有所了解以后,能找到解決方法。