將版本信息顯示在App圖標(biāo)上

在測試App版本升級功能或者需要多版本切換的時(shí)候,可能需要經(jīng)常去確定當(dāng)前App的版本號,如果中途打斷很有可能會忘記了當(dāng)前的版本號,并且App內(nèi)部如果沒有顯示版本號的功能,就只能從頭來了。
如果能讓App的版本信息直接顯示到圖標(biāo)上,測試的時(shí)候是不是就會更加直觀,更加效率,更加蘇胡。
就像醬紫:

medclipper
怎么做呢?

在Xcode中Target的Build Phases中,可以添加一個(gè)Run Script的Build Phase來執(zhí)行一些腳本做一些操作,這里的腳本會在每次build的時(shí)候執(zhí)行,然后我們就可以通過腳本給App圖標(biāo)添加版本信息了。

Run Script是怎么玩的

添加一個(gè) Run Script


New Run Script

編輯Shell


Test Shell

Command + B 構(gòu)建工程,可以通過Command + 8 查看構(gòu)建日志,測試腳本已經(jīng)成功執(zhí)行。

Shell result
通過Shell獲得應(yīng)用版本信息

PlistBuddy是一個(gè)Mac里的命令行下讀寫plist文件的工具,App的基本信息都存儲在plist 文件中,我們可以通過PlistBuddy來獲取。

獲取Version

~ echo `/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" /Users/dimsky/Documents/Project/Project-Info.plist`

  1.0.0

獲取Build

~ echo `/usr/libexec/PlistBuddy -c "Print CFBundleVersion" /Users/dimsky/Documents/Project/Project-Info.plist`

  1
獲取工程版本信息,如果使用的Git

獲取Branch

 ~ git rev-parse --abbrev-ref HEAD 

   master

獲取Commit version

~ git rev-parse --short HEAD
 
  f360b92
將版本信息填充到App 圖標(biāo)上

將版本信息填充到圖標(biāo)上,這里需要安裝2個(gè)工具:ImageMagick和ghostscript,ImageMagicK的convert命令可以將文字寫到圖片上。

~ brew install imagemagick  
~ brew install ghostscript  

通過convert 將填充版本信息居中顯示在圖標(biāo)下方。

~ convert -background '#0005' -fill white -gravity center -size 180x60 caption:"1.1.1 (10)\nmaster\n56789998" ./iPhone@3x-1.png  +swap -gravity south -composite ./target.png

前后對比:

更完善的Shell

我們已經(jīng)把版本信息填充到圖標(biāo)中,但是我們在Run script中執(zhí)行的Shell需要?jiǎng)討B(tài)的路徑,而且還有不同設(shè)備的圖標(biāo)需要填充,最好將工具的安裝都可以全自動(dòng)化,不用著急,現(xiàn)在已經(jīng)有人替我們完成了這個(gè)Shell腳本,我們只需要下載下來,在 Run script 中引入就可以了。

引入添加版本信息腳本

這樣你在編譯構(gòu)建的時(shí)候在App 圖標(biāo)上就能自動(dòng)顯示版本信息了。

參考:
http://merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,155評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,890評論 18 139
  • 在你完成應(yīng)用程序的beta版本后,最后會有些人去幫你測試,使你去完善應(yīng)用程序……或者會有投資青睞。但是如果測試人員...
    zmp1123閱讀 6,770評論 15 46
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,947評論 6 342
  • 想讓用戶持續(xù)和高頻的使用,就需要用戶激勵(lì)。從實(shí)現(xiàn)途徑來說,分為產(chǎn)品和運(yùn)營兩種。產(chǎn)品的方式有積分、等級、榜單、勛章、...
    我?guī)煾刚f閱讀 168評論 0 0