热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

Github传送门简介LLIconVersioning是一个脚本,可以自动创建带有调试信息的appIcon。在runscript中的集成脚本,可以在每次

Github 传送门

简介

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

预览

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

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

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

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

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

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"

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

Q5 : 为什么不好使?

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

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

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

联系

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

联系

  • 可以发邮件到llworkinggroup1992@gmail.com
  • 可以在twitter中@HdbLi发私信给我。
  • 可以在简书中发私信给我。

许可

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



推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
author-avatar
多米音乐_34281398
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有