在iOS中有兩種「版本號」,也就是所謂的version號與build號,以下圖所示:編程
咱們用最簡潔的語言來區分這兩個版本號的區別以及用途以下:xcode
- Version號:也稱爲Bundle versions string, sthort. appstore以及itune中產品介紹所用的版本號,多面向用戶,多爲兩段式或者三段式,1.0.1,1.2等,一般做爲版本升級的主要依據
- Build號:也稱爲Bundle version. 開發者團隊內部使用,方便追查bug,多用於內測過程當中區分出不一樣產品。也就是相同Version下,Build號能夠不一樣
兩者在plist中也分別用不一樣的字段來表示app
對於開發者而言,咱們每每更關注Build號,也就是Bundle version。所以,本文旨在介紹一種方法,實現Bundle version自動標記,用以區分不一樣的內測產品。工具
Bundle version的表示方法用不少種,大體以下:時間表示法(e.g. 20150715)、字母表示法、純數字表示法。本文采用最後的純數字表示法,而且採用xcode對代碼的編譯次數做爲bundle version。能夠預見,這樣的bundle version將呈現出遞增趨勢。但須要每次編譯後都去修改xcode的工程設置以及plist嗎?答案是否認的。APPLE已經提供了工具幫咱們實現bundle version的自動遞增。測試
具體設置步驟參加下圖(圖片轉載自此處):ui
其中的腳本代碼爲:spa
xcrun agvtool next-version -all
若是是多人開發,會存在每一個人開發的分支屢次編譯致使Build版本不許的狀況,但不影響開發進程。對於開發咱們須要注意的是每次測試測試前的Build版本。確保它增長,就,能夠了!至因而否要release時增長,是否須要手動修改,這個能夠根據實際狀況調整。畢竟,Build版本號只是一個輔助的參數。3d
原創文章,轉載請註明 編程小翁@博客園,郵件zilin_weng@163.com,歡迎各位與我在C/C++/Objective-C/機器視覺等領域展開交流!code