阅读 786

LLIconVersioning-一个可以创建app版本信息icon的脚本

Github 传送门

简介

LLIconVersioning是一个脚本,可以自动创建带有调试信息的appIcon。在run script中的集成脚本,可以在每次build或archive时自动创建带有版本信息的图标,还可以自动管理构建号。

预览

Rendering

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 到你的项目中

  1. 在你的Mac上安装 ghostscript 和 ImageMagick,你可以通过brew来快速的安装:brew install imagemagickbrew install ghostscript

  2. 在你的项目中新增一个 New Run Script Phase,并且填写LLIconVersion.sh的路径。如果你将 LLIconVersion.sh 放到根目录下,你可以填写$SRCROOT/LLIconVersion.sh,如果你将 LLIconVersion.sh 放到某个文件夹下,你需要填写$SRCROOT/your folder name/LLIconVersion.sh

Rendering

  1. 复制 LLIconVersion.sh到指定目录。

  2. 在你想要archive或者安装app给测试前,运行 Build(快捷键 : command + B )。原因请查看Q&A

  3. 运行你的项目看看效果。

  4. 如果你对颜色或者字体不满意,可以在脚本中修改这些配置参数。

Rendering

Q&A

Q1 : LLIconVersioningIconOverlaying 有什么区别?

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来创建图标。

Q2 : LLIconVersioning 在build时都做了什么?

  1. 检查本地数据,判断是否需要更新图标。
  2. 检查是否在Mac上安装了必要的库。
  3. 复制appIconappIcon-Debug,将app版本信息写到图片上。
  4. 修改Debug环境里的 ASSETCATALOG_COMPILER_APPICON_NAME值为appIcon-Debug
  5. 自动修改build number。

Q3 : 为什么需要在使用前调用build?

LLIconVersioning 是动态的修改 project.pbxprojassets,因为run script只能在ipa生成后调用,所以脚本无法修改当前的ipa中的assets资源,build相当于运行脚本去创建下一次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"

Run Error

Build settings 中搜 asset catalog,双击并且修改值为appIcon,再运行一次。

Fix Error

Q5 : 为什么不好使?

检查你是否安装了ghostscript/ImageMagick,或者查看xcode中的调试信息,如果你还无法解决问题,打开一个 issue。

Q6 : 我可以修改哪些参数?

所有可调整的参数都写在了脚本文件的第一和第二部分,你可以阅读注释来进行修改。

联系

  • 如果你需要帮助,打开一个issue。
  • 如果你想问一个普遍的问题,打开一个issue。
  • 如果你发现了一个bug并能提供可靠的复制步骤,打开一个issue。
  • 如果你有一个功能请求,打开一个issue。
  • 如果你发现有什么不对或不喜欢的地方,就打开一个issue。
  • 如果你有一些好主意或者一些需求,请发邮件(llworkinggroup@qq.com)给我。
  • 如果你想贡献,提交一个pull request。

联系

许可

这段代码是根据 MIT license 的条款和条件发布的。