Github 傳送門
簡介
LLIconVersioning是一個腳本,可以自動創(chuàng)建帶有調試信息的appIcon。在run script中的集成腳本,可以在每次build或archive時自動創(chuàng)建帶有版本信息的圖標,還可以自動管理構建號。
預覽
1.0.0 is app version, 9 is build number, Debug is environment name.
我能用 LLIconVersioning 做什么?
這是一個可以幫助你管理圖標的腳本,你可以更容易地看到應用程序版本信息。
并且它也可以自動管理build number,例如1增長成2,或者1.0.0增長成1.0.1,或者使用日期來設置你的build number,例如201808311200。
添加 LLIconVersioning 到你的項目中
在你的Mac上安裝 ghostscript 和 ImageMagick,你可以通過brew來快速的安裝:
brew install imagemagick和brew install ghostscript。在你的項目中新增一個
New Run Script Phase,并且填寫LLIconVersion.sh的路徑。如果你將LLIconVersion.sh放到根目錄下,你可以填寫$SRCROOT/LLIconVersion.sh,如果你將LLIconVersion.sh放到某個文件夾下,你需要填寫$SRCROOT/your folder name/LLIconVersion.sh。
復制
LLIconVersion.sh到指定目錄。在你想要archive或者安裝app給測試前,運行
Build(快捷鍵 :command + B)。原因請查看Q&A。運行你的項目看看效果。
如果你對顏色或者字體不滿意,可以在腳本中修改這些配置參數。
Q&A
Q1 : LLIconVersioning 和 IconOverlaying 有什么區(qū)別?
LLIconVersioning 是根據 IconOverlaying修改的, 但是 IconOverlaying 已經不再支持 Xcode 9 and iOS 11。
雖然 LLIconVersioning 是根據 IconOverlaying修改的,但是中心思想是不一樣的。
LLIconVersioning 是修改你的project.pbxproj,然后將Debug環(huán)境的ASSETCATALOG_COMPILER_APPICON_NAME的值從appIcon設置成appIcon-Debug,這意味著你的app會使用 appIcon-Debug來創(chuàng)建debug環(huán)境的圖標,使用appIcon創(chuàng)建release環(huán)境的圖標。
IconOverlaying是在archive后修改你的ipa,他會修改.ipa中的png文件,但是ios11的app已經不在使用ipa中的png文件,而是直接使用assets中的appIcon來創(chuàng)建圖標。
Q2 : LLIconVersioning 在build時都做了什么?
- 檢查本地數據,判斷是否需要更新圖標。
- 檢查是否在Mac上安裝了必要的庫。
- 復制
appIcon到appIcon-Debug,將app版本信息寫到圖片上。 - 修改Debug環(huán)境里的
ASSETCATALOG_COMPILER_APPICON_NAME值為appIcon-Debug。 - 自動修改build number。
Q3 : 為什么需要在使用前調用build?
LLIconVersioning 是動態(tài)的修改 project.pbxproj 和 assets,因為run script只能在ipa生成后調用,所以腳本無法修改當前的ipa中的assets資源,build相當于運行腳本去創(chuàng)建下一次ipa的數據,所以你在archive或者給測試安裝app前,需要先build一下。
Q4 : 為什么會收到這樣的錯誤?
當你手動刪除assets中的appIcon-Debug時,你會收到一個這樣的錯誤None of the input catalogs contained a matching stickers icon set or app icon set named "AppIcon-Debug"。
在 Build settings 中搜 asset catalog,雙擊并且修改值為appIcon,再運行一次。
Q5 : 為什么不好使?
檢查你是否安裝了ghostscript/ImageMagick,或者查看xcode中的調試信息,如果你還無法解決問題,打開一個 issue。
Q6 : 我可以修改哪些參數?
所有可調整的參數都寫在了腳本文件的第一和第二部分,你可以閱讀注釋來進行修改。
聯系
- 如果你需要幫助,打開一個issue。
- 如果你想問一個普遍的問題,打開一個issue。
- 如果你發(fā)現了一個bug,并能提供可靠的復制步驟,打開一個issue。
- 如果你有一個功能請求,打開一個issue。
- 如果你發(fā)現有什么不對或不喜歡的地方,就打開一個issue。
- 如果你有一些好主意或者一些需求,請發(fā)郵件(llworkinggroup@qq.com)給我。
- 如果你想貢獻,提交一個pull request。
聯系
- 可以發(fā)郵件到llworkinggroup1992@gmail.com
- 可以在twitter中@HdbLi發(fā)私信給我。
- 可以在簡書中發(fā)私信給我。
許可
這段代碼是根據 MIT license 的條款和條件發(fā)布的。




