iOS App 版本的定義

最近岸晦,我們要提交 App 到 Apple 的 App Store,涉及到后續(xù)版本(version)升級(jí)的問題睛藻,Google 了一下启上,大家有不少類似的困擾,見解也是五花八門店印。
感謝 @NoteCode 澄清概念和截圖演示冈在。

選用方案


先說一下我們選用的方案,有時(shí)間的話大家可以閱讀全文按摘,了解一下對(duì) iOS App 各色 "版本" 的理解讥邻。

格式定義

  • version#(版本編號(hào))
    = version number in iTunes Connect
    = Bundle versions string, short in Xcode;
    = CFBundleShortVersionString in Info.plist院峡;
    遵循軟件版本一般約定兴使,使用三段式 x.y.z,如 0.5.1照激。若 z 為0发魄,則通常省略,比如:記為 1.1 而不是 1.1.0俩垃。
    沒有特別說明励幼,我們所說的 版本 指的就是這個(gè)意義上的版本編號(hào)。
    通過 iTunes Connect 提交 Apple 時(shí)使用口柳。
    iTunes Connect 對(duì) version 的要求:

    The version number of the app you are adding. Numbering should follow software versioning conventions.

  • build#(build編號(hào))
    = Bundle version in Xcode苹粟。
    = CFBundleVersion in Info.plist
    選用一個(gè)正整數(shù)來表示build#,每構(gòu)建/提測一次跃闹,這個(gè)數(shù)字就加1嵌削。
    如:上次構(gòu)建/提測為1毛好,則本次就是2,下次就是3苛秕。
    沒有特別說明肌访,Bundle version 這個(gè)術(shù)語等同于 build#。
  • version number in iTunes Connect
    Bundle versions string, short 保持一致艇劫,即上面說的 version#吼驶。
  • 擴(kuò)展版本
    選用:version# (role#build#),如 0.5.1 (C2)店煞;
    其中:role# 表示角色編號(hào)蟹演,B 表示 經(jīng)紀(jì)人版,C 表示 客戶版顷蟀;version# 后面有一個(gè)空格轨帜;
  • App About(關(guān)于)
    正式版:依擴(kuò)展版本格式定義,如:0.5.1 (C2)衩椒;
    開發(fā)版:擴(kuò)展版本格式后加 D蚌父,如:0.5.1 (C2) D。
  • 禪道
    在禪道中構(gòu)建/提測時(shí)毛萌,遵循擴(kuò)展版本格式定義苟弛。

x.y.z 的含義

  • x 大更新
    major updates of the application, such as updates that implement new features or major changes. 自然地,0 則表示產(chǎn)品尚未成型阁将。
  • y 小更新
    The second integer denotes revisions that implement less prominent features.
  • z 維護(hù)更新
    The third integer represents maintenance releases. 比如:上線后發(fā)現(xiàn)問題膏秫,修正后,z 就要加 1做盅。z從0開始缤削。

x, y, z 的約定

  • 取值范圍
    x, y, z 必須為 0 或者 正整數(shù),數(shù)字前請(qǐng)不要用0做前綴吹榴。2.1.6 是合適的亭敢,而 2.1.06 就匪夷所思,不合適图筹。
  • 版本比較算法
    版本的大小比較是以逗點(diǎn)分割后帅刀,逐段比較數(shù)字大小,比如:2.1.11 比 2.1.3 版本高远剩,因?yàn)?11 > 3扣溺;1.3.4 比 1.2.9 版本高,因?yàn)?3 > 2瓜晤。

內(nèi)部可直接使用 role#build# 稱呼打包編號(hào)

因?yàn)?build# 單一且始終增長锥余,具有簡單性、連續(xù)性和唯一指向性痢掠。比如 C3 包驱犹,B5 包嘲恍,在開發(fā)團(tuán)隊(duì)內(nèi)部交流時(shí)使用會(huì)方便很多璧亮。

對(duì) iOS App "version" 的理解


  1. Bundle versions string, short in Xcode
    軟件的顯示版本,顯示在 App Store 里面檬贰,用戶能看到的包的版本號(hào)桑嘶。
  2. Bundle version in Xcode
    通常理解為 Build 編號(hào);
    需要不斷增長颜价,既是語義的要求、可理解的要求,同時(shí)在 iTunes Connect 提交時(shí)也有新版本要比上一個(gè)版本高這個(gè)要求彬向;
    Bundle versions string, short 沒有固定關(guān)系。
  3. version number in iTunes Connect
    在 iTunes Connect 提交認(rèn)證包時(shí)攻冷,你需要填寫版本編號(hào)娃胆。應(yīng)當(dāng)和 Bundle versions string, short 保持一致。
  4. CFBundleVersion
    在 Info.plist 文件中等曼,你會(huì)看到 CFBundleVersion 這個(gè) key里烦,她的值就是 Bundle version 的值。
  5. CFBundleShortVersionString
    在 Info.plist 文件中禁谦,其值為 Bundle Versions String, Short 的值胁黑。

** Info.plist **
Property list 文件使用擴(kuò)展文件名 .plist,稱為 p-list 文件州泊,通常用來存儲(chǔ)用戶設(shè)置丧蘸,也常用來存儲(chǔ)關(guān)于 bundles and applications 的信息,這是一個(gè)xml文件遥皂。

示例

Target Properties

Target Properties.jpg

Info.plist

Info.plist.png

Xcode General

Xcode General.jpg

Product Archive 啟動(dòng)

Product Archive 啟動(dòng).jpg

Product Archive 結(jié)果

Product Archive 結(jié)果.jpg

Xcode 版本

Xcode 版本.jpg

iTunes Connect App(3.0.2)

iTunes Connect App(Products).png
iTunes Connect App(Settings).png

App About(關(guān)于)

App About(關(guān)于).png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末力喷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子演训,更是在濱河造成了極大的恐慌弟孟,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件样悟,死亡現(xiàn)場離奇詭異披蕉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)乌奇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門没讲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人礁苗,你說我怎么就攤上這事爬凑。” “怎么了试伙?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵嘁信,是天一觀的道長于样。 經(jīng)常有香客問我,道長潘靖,這世上最難降的妖魔是什么穿剖? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮卦溢,結(jié)果婚禮上糊余,老公的妹妹穿的比我還像新娘。我一直安慰自己单寂,他們只是感情好贬芥,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宣决,像睡著了一般蘸劈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尊沸,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天威沫,我揣著相機(jī)與錄音,去河邊找鬼洼专。 笑死壹甥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的壶熏。 我是一名探鬼主播句柠,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼棒假!你這毒婦竟也來了溯职?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤帽哑,失蹤者是張志新(化名)和其女友劉穎谜酒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妻枕,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僻族,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屡谐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片述么。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖愕掏,靈堂內(nèi)的尸體忽然破棺而出度秘,到底是詐尸還是另有隱情,我是刑警寧澤饵撑,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布剑梳,位于F島的核電站唆貌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏垢乙。R本人自食惡果不足惜锨咙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望追逮。 院中可真熱鬧酪刀,春花似錦、人聲如沸羊壹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽油猫。三九已至,卻和暖如春柠偶,著一層夾襖步出監(jiān)牢的瞬間情妖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工诱担, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留毡证,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓蔫仙,卻偏偏與公主長得像料睛,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摇邦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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