使用脚本.sh加速 App 开发

1.iOS 在系统设置中展示 App 版本,Build 等信息

某日闲的无聊,玩儿手机无意间发现一件在 iOS 系统设置中有趣的事儿。别人家的 App 都是这个样子的


使用脚本.sh加速 App 开发_第1张图片

是这个样子


使用脚本.sh加速 App 开发_第2张图片

好奇下面这些信息是怎么来的。我又看了其他的 App,发现有的更是强大。
使用脚本.sh加速 App 开发_第3张图片
使用脚本.sh加速 App 开发_第4张图片
使用脚本.sh加速 App 开发_第5张图片

Google 了一下,原来是 Setting.bundle 的作用。下面就介绍一下如何简单的使用 Setting.bundle 实现的效果。

1.在项目中添加 Setting.bundle 文件

使用脚本.sh加速 App 开发_第6张图片

New File... 的时候注意下添加的路径,下面编写脚本需要用到,建议直接根目录即可。

2.编辑 Root.plist

使用脚本.sh加速 App 开发_第7张图片




PreferenceSpecifiers


 Title
 版本信息
 Type
 PSGroupSpecifier


 DefaultValue
 -
 Key
 version_preference
 Title
 Version
 Type
 PSTitleValueSpecifier


 DefaultValue
 -
 Key
 build_preference
 Title
 Build
 Type
 PSTitleValueSpecifier


StringsTable
Root


3.修改 Version 和 Build 的值

有两种方法,一种是通过代码的方法。

AppDelegare.m didFinishLaunchingWithOptions方法或者需要的地方添加以下代码

    NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
    [[NSUserDefaults standardUserDefaults] setObject:version
                                             forKey:@"version_preference"];
   NSString *build = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
    [[NSUserDefaults standardUserDefaults] setObject:build
                                             forKey:@"build_preference"];

推荐使用脚本自动设置 Version 和 Build 的值。

4.编辑脚本

#获取Bundle Version
version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:1:DefaultValue ${version}" "${PROJECT_DIR}/${PROJECT_NAME}/Settings.bundle/Root.plist"
#获取Build
Build=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:2:DefaultValue ${Build}" "${PROJECT_DIR}/${PROJECT_NAME}/Settings.bundle/Root.plist"

5.配置脚本

如下图所示添加一个 Run Script

使用脚本.sh加速 App 开发_第8张图片

复制脚本内容到如下位置

使用脚本.sh加速 App 开发_第9张图片

运行工程,然后去 iOS 系统设置查看变化(可能会出现延迟,可以尝试杀掉系统设置重新查看)。

参考:

  1. iOS 在系统设置中展示Git Commit, App版本等信息
  2. Integrate Settings.bundle and show iOS version with Git commit in 5 mins
  3. 官方文档

你可能感兴趣的:(使用脚本.sh加速 App 开发)