iOS 在系統(tǒng)設置中展示Git Commit, App版本等信息

Xcode編譯時支持運行腳本隶垮,眾所周知的CocoaPods就是這種方式比對工程中依賴庫和本地庫的SHA1值提示你運行pod install的。

本篇文章目的

在設備設置中淤年,App權限下面展示自定義內容十厢,如類似下圖圈住區(qū)域內容

效果圖

步驟

1.在項目中添加Settings.bundle文件

Settings.bundle

2.修改Settings.bundle的Root.plist列表
以設置App版本號避乏,Git的分支以及Git的commit為例。

Screen Shot 2017-03-12 at 02.20.08.png

3.編輯腳本资柔,設置Settings.bundle的值

  1. App版本:從項目Info.Plist中CFBundleShortVersionString鍵值獲缺捍;
  2. git分支:git rev-parse --abbrev-ref HEAD指令可以獲取;
  3. git commit:git rev-parse --short HEAD指令獲取;
#獲取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"

#獲取Git當前分支
branch=`git rev-parse --abbrev-ref HEAD | awk '{print $1}'`
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:2:DefaultValue ${branch}" "${PROJECT_DIR}/${PROJECT_NAME}/Settings.bundle/Root.plist"

#獲取Git當前Commit SHA1值
commit=`git rev-parse --short HEAD | awk '{print $1}'`
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:3:DefaultValue ${commit}" "${PROJECT_DIR}/${PROJECT_NAME}/Settings.bundle/Root.plist"

4.項目中配置腳本
路徑: Target -> 項目名字 -> Build Phases

  1. 如果沒有Run Script就在該區(qū)域左上角+來增加贿堰;
  2. 將步驟3的腳本復制粘貼即可辙芍。
  3. 安裝App后在設置中找到App,迎接你的成果羹与。

注意事項

  1. Apple坑沸手,Settings.bundle里顯示Preference Items鍵值,但實際中是以PreferenceSpecifiers鍵值注簿,類似DefaultValue沒有空格;
    獲取鍵值方法:在Root.plist中右鍵跳仿,勾選"Show Raw Keys/Values"一項诡渴,即可看到實際的鍵值名稱.
  1. 腳本的路徑或者鍵值有空格時不能簡單“a b”,而是a\ b;
  2. Settings.bundlePreference Items的第一個TypeGroup菲语,這樣有層次妄辩;
  3. Preference Items可以嵌套,也可以設置UISwitch,UITextFiled等山上;
  4. 安裝前如果有打開系統(tǒng)設置中眼耀,那么可能安裝后看不到更新,殺掉設置重新進來即可佩憾,莫慌~
  5. 如果使用了commit做為記錄內容哮伟,那么在git中沒有辦法git ignore來隱藏變化,因為每個人編譯時都會生成commit值妄帘,解決方法時用PlistBuddy腳本動態(tài)生成Root.plist文件楞黄。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市抡驼,隨后出現(xiàn)的幾起案子鬼廓,更是在濱河造成了極大的恐慌,老刑警劉巖致盟,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碎税,死亡現(xiàn)場離奇詭異,居然都是意外死亡馏锡,警方通過查閱死者的電腦和手機雷蹂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來眷篇,“玉大人萎河,你說我怎么就攤上這事。” “怎么了虐杯?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵玛歌,是天一觀的道長。 經常有香客問我擎椰,道長支子,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任达舒,我火速辦了婚禮值朋,結果婚禮上,老公的妹妹穿的比我還像新娘巩搏。我一直安慰自己昨登,他們只是感情好,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布贯底。 她就那樣靜靜地躺著丰辣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪禽捆。 梳的紋絲不亂的頭發(fā)上笙什,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音胚想,去河邊找鬼琐凭。 笑死,一個胖子當著我的面吹牛浊服,可吹牛的內容都是我干的统屈。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼臼闻,長吁一口氣:“原來是場噩夢啊……” “哼鸿吆!你這毒婦竟也來了?” 一聲冷哼從身側響起述呐,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤惩淳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后乓搬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體思犁,經...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年进肯,在試婚紗的時候發(fā)現(xiàn)自己被綠了激蹲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡江掩,死狀恐怖学辱,靈堂內的尸體忽然破棺而出乘瓤,到底是詐尸還是另有隱情,我是刑警寧澤策泣,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布衙傀,位于F島的核電站,受9級特大地震影響萨咕,放射性物質發(fā)生泄漏统抬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一危队、第九天 我趴在偏房一處隱蔽的房頂上張望聪建。 院中可真熱鬧,春花似錦茫陆、人聲如沸金麸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钱骂。三九已至,卻和暖如春挪鹏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背愉烙。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工讨盒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人步责。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓返顺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蔓肯。 傳聞我的和親對象是個殘疾皇子遂鹊,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內容