LLIconVersioning是一个脚本,能够自动建立带有调试信息的appIcon。在run script中的集成脚本,能够在每次build或archive时自动建立带有版本信息的图标,还能够自动管理构建号。ios
1.0.0
is app version, 9
is build number, Debug
is environment name.git
这是一个能够帮助你管理图标的脚本,你能够更容易地看到应用程序版本信息。github
而且它也能够自动管理build number,例如1
增加成2
,或者1.0.0
增加成1.0.1
,或者使用日期来设置你的build number,例如201808311200
。xcode
在你的Mac上安装 ghostscript 和 ImageMagick,你能够经过brew来快速的安装:brew install imagemagick
和 brew install ghostscript
。app
在你的项目中新增一个 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。ui
运行你的项目看看效果。debug
若是你对颜色或者字体不满意,能够在脚本中修改这些配置参数。调试
LLIconVersioning
和 IconOverlaying
有什么区别?LLIconVersioning
是根据 IconOverlaying
修改的, 可是 IconOverlaying
已经再也不支持 Xcode 9 and iOS 11。
虽然 LLIconVersioning
是根据 IconOverlaying
修改的,可是中心思想是不同的。
LLIconVersioning
是修改你的project.pbxproj
,而后将Debug环境的ASSETCATALOG_COMPILER_APPICON_NAME
的值从appIcon
设置成appIcon-Debug
,这意味着你的app会使用 appIcon-Debug
来建立debug环境的图标,使用appIcon
建立release环境的图标。
IconOverlaying
是在archive后修改你的ipa
,他会修改.ipa
中的png文件,可是ios11的app已经不在使用ipa
中的png文件,而是直接使用assets中的appIcon
来建立图标。
LLIconVersioning
在build时都作了什么?appIcon
到 appIcon-Debug
,将app版本信息写到图片上。ASSETCATALOG_COMPILER_APPICON_NAME
值为appIcon-Debug
。build
?LLIconVersioning
是动态的修改 project.pbxproj
和 assets
,由于run script只能在ipa
生成后调用,因此脚本没法修改当前的ipa
中的assets
资源,build
至关于运行脚本去建立下一次ipa
的数据,因此你在archive或者给测试安装app前,须要先build一下。
当你手动删除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
,再运行一次。
检查你是否安装了ghostscript/ImageMagick,或者查看xcode中的调试信息,若是你还没法解决问题,打开一个 issue。
全部可调整的参数都写在了脚本文件的第一和第二部分,你能够阅读注释来进行修改。
这段代码是根据 MIT license 的条款和条件发布的。