CFBundleVersion 和 CFBundleShortString

淺談CFBundleVersion與 CFBundleShortString

定義

每次開發新版APP,我們必須要提供一個新的版本號(version number)用來和前一個版本作區分。Version number就相當于我們APP每一次釋放到APP Store時的名字。然而,在成功release到市場之前,我們可能需要向APP Store提交多次(例如,被拒,或者提交后又發現了bug,需要重新提交)——在這里,文檔中把每一次提交稱為一次build。每次build必須有一個獨立的build number以示區分。因此,每次更新的所有build構成了一個“釋放隊列”(release train)。對于iOS應用而言,同一個release train中的build不可重名,但不同release train之間可以;對于macOS應用而言,無論是否屬于同一個release train,重名都是不允許的。

查看位置

  1. Target tab

如圖所示,Version 表示版本號,build表示build number。一般對版本號和build號在這里進行更改,但是它們在plist中也有對應的位置。

1111.png
  1. plist
2222.png

如圖所示, CFBundleVersion在此對應 version number,CFBundleVersionStringShort在此對應 build number。

兩種命名習慣

無論是build number 還是version number 都由數字點號組成,每個數字和小數點成為這個number的一個“組件”。兩種number都最多不能超過三個組件,且最多不超過18個字符。

檢查你的version number and build number

  1. 每個版本的版本號都要比前一個更高。
  2. 對同一個版本的應用,每一次提交的build號都要比前一次更高。對于iOS應用,不同版本中的build號可以有重復的。但是對于macOS應用,無論是否是同一個版本,每一次提交使用的build號都不允許重復!
  3. extension和他們的主app都必須使用同一個build number 和 version number。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,836評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,809評論 25 708
  • 下雨了 不大 腳瘸了 一拐一拐 要走兩刻鐘 才能回到宿舍
    浮夢閱讀 142評論 0 0
  • 故障簡介 早上查看Redis日志的時候發現Redis一直在報錯 Redis數據回寫機制 數據回寫分同步和異步兩種方...
    現階段是高科技的時代閱讀 12,584評論 0 2
  • 現在的人總是喜歡 破洞的褲子 讓人想起 光溜溜的屁股 冷風呼呼吹 露在外面的白肉生生疼 好看的東西總是掙扎 掙扎的...
    以太dim閱讀 178評論 0 2