iOS 啟動頁動態(tài)顯示版本

iOS打包腳本動態(tài)顯示Version

需求

1是越、根據(jù)info.plist配置的版本號,顯示在程序內(nèi)部顯示版本號
2安接、需要在啟動頁下方動態(tài)顯示版本號
3叛氨、區(qū)分發(fā)布包和內(nèi)測包

1达址、根據(jù)info.plist配置的版本號躲因,顯示在程序內(nèi)部顯示版本號

這個需求很簡單早敬,只需要獲取到info.plist里面的版本號,我們可以放到工具類中作為一個靜態(tài)方法

+(NSString*)appVersion
{
    return [[NSBundle mainBundle]
            objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
}

拿到appVersion,想怎么處理就容易了大脉。

需要在啟動頁下方動態(tài)顯示版本號

要想解決這個問題搞监,我們先調(diào)研了Launch Screen File分為兩種,一種直接設(shè)置成圖片箱靴,另一種是加載LaunchScreen.storyboard文件。

  • 使用圖片:我們直接放棄荷愕,除非用腳本動態(tài)合成圖片衡怀,這個太過于復(fù)雜
  • 使用LaunchScreen.storyboard文件:我們知道xib文件其實(shí)是一個xml文件,我們只需要通過某種方式安疗,在程序編譯之前用腳本把xml里面的版本信息替換掉

我們分兩步走抛杨,在run script phase里面插入腳本即:
1、用腳本獲取info.plist里面的版本字段

#1荐类、用腳本獲取info.plist里面的版本字段
versionNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "./目錄/info.plist");
echo $versionNumber
# PlistBuddy功能很強(qiáng)大怖现,有興趣的可以研究

2、用腳本替換掉xml里版本相關(guān)信息

#.sh
#我在LaunchScreen.storyboard里面拖了一個UILabel進(jìn)去玉罐,取名為AppVersion
sed -i bak -e "/userLabel=\"AppVersion\"/s/text=\"[^\"]*\"/text=\" $versionNumber\"/" ./目錄/LaunchScreen.storyboard;

在用XCode直接跑程序的時候屈嗤,親測沒問題,但是用了腳本發(fā)布app吊输,就會出現(xiàn)問題了饶号。

run script phase里面的腳本會在發(fā)布腳本編譯完再執(zhí)行,這樣就起不到作用季蚂。

解決辦法茫船,我們把腳本統(tǒng)一的放到外部的發(fā)布腳本里面,確保在腳本編譯程序之前替換成功扭屁。

區(qū)分發(fā)布包和內(nèi)測包

  • 在內(nèi)測包算谈,Alpha版本的時候版本號顯示為:Alpha_V20180702
  • 在發(fā)布包,發(fā)布版本的時候版本號顯示正常的:V1.0.1

同樣的我們來分析一下任務(wù):

1料滥、Alpha_V20180702里面包含了固定字符串Alpha_V和一個時間串

#獲取時間
versionNumber=$(date +%Y%m%d);
sed -i bak -e "/userLabel=\"AppVersion\"/s/text=\"[^\"]*\"/text=\" Alpha_V$versionNumber\"/" ./目錄/LaunchScreen.storyboard;

*2然眼、如果我們需要在程序內(nèi)部使用,又不想重新寫代碼獲取時間葵腹,這里有一個方法

  • 先在目標(biāo)文件中申明一個變量
const NSString *version = @"V1.1.3";
#.sh
sed -i bak -e "s/^const NSString \*version = @.*$/const NSString \*version = @\"Alpha_V$versionNumber\";/g" ./目錄/AboutUsView.m;
#sed 查找以const NSString *version = @開頭的并替換為const NSString *version = @"xxx";

完整代碼

echo "打包模式 1-Debug/2-Release"  
read debugMode
echo "打包模式 1-Alpha版本/2-發(fā)布版"  
read archiveFlag
if [ "$archiveFlag" = "1" ];then
versionNumber=$(date +%Y%m%d);
sed -i bak -e "/userLabel=\"AppVersion\"/s/text=\"[^\"]*\"/text=\" Alpha_V$versionNumber\"/" ./目錄/LaunchScreen.storyboard;
sed -i bak -e "s/^const NSString \*version = @.*$/const NSString \*version = @\"Alpha_V$versionNumber\";/g" ./目錄/AboutUsView.m;

else
versionNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "./目錄/info.plist");
sed -i bak -e "/userLabel=\"AppVersion\"/s/text=\"[^\"]*\"/text=\"$versionNumber\"/" ./目錄/LaunchScreen.storyboard;
sed -i bak -e "s/^const NSString \*version = @.*$/const NSString \*version = @\"Alpha_V$versionNumber\";/g" ./目錄/AboutUsView.m;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末罪治,一起剝皮案震驚了整個濱河市丽声,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌觉义,老刑警劉巖雁社,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晒骇,居然都是意外死亡霉撵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門洪囤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徒坡,“玉大人,你說我怎么就攤上這事瘤缩±辏” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵剥啤,是天一觀的道長锦溪。 經(jīng)常有香客問我,道長府怯,這世上最難降的妖魔是什么刻诊? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮牺丙,結(jié)果婚禮上则涯,老公的妹妹穿的比我還像新娘。我一直安慰自己冲簿,他們只是感情好粟判,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著峦剔,像睡著了一般浮入。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上羊异,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天事秀,我揣著相機(jī)與錄音,去河邊找鬼野舶。 笑死易迹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的平道。 我是一名探鬼主播睹欲,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了窘疮?” 一聲冷哼從身側(cè)響起袋哼,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎闸衫,沒想到半個月后涛贯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔚出,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年弟翘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骄酗。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡稀余,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出趋翻,到底是詐尸還是另有隱情睛琳,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布踏烙,位于F島的核電站师骗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏宙帝。R本人自食惡果不足惜丧凤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一步脓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浩螺,春花似錦靴患、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽或颊。三九已至囱挑,卻和暖如春平挑,著一層夾襖步出監(jiān)牢的瞬間通熄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留啰扛,地道東北人隐解。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像续徽,于是被迫代替她去往敵國和親亲澡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理膀斋,服務(wù)發(fā)現(xiàn)仰担,斷路器摔蓝,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 1贮尉、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,982評論 3 119
  • 這棵樹我寫了很多遍绘盟,未來還會再寫。我出生時吠卷,它已是枝繁葉荗的大樹。如今疾渴,親手種植它的人已不在了搞坝。她長眠于黃土中,或...
    如夢如幻月閱讀 406評論 0 0
  • 文|不二咩 每個小女生都會憧憬結(jié)婚時的種種,可真到了結(jié)婚年齡旱爆,難免有點(diǎn)抗拒心理疼鸟。 曾經(jīng)是爸媽眼中的公主,無憂無慮捌朴。...
    不二咩閱讀 737評論 0 1
  • 快要忘了你 忘了你的想念 忘了你的聲音 忘了我的期盼 忘了等待 甚至忘了愛你