天天看點

ios設定App版本号

剛接觸ios開發的童鞋應該會對于app版本号嗎有些疑問,因為target不僅僅在summary中有版本号,同樣在Info.plist等地方也有版本号碼的地方,一頭亂碼,不知嗎?其實xcode在summary中已經将app最基本的設定進行了全面的封裝,其餘的plist,build setting等地方會跟着summary設定的改變而改變。

ios設定App版本号

Bundle display name     app名字   在plist 中加一個  字元串

一個version,一個build,都是設定版本的地方,有什麼差別呢? 

在ios中(Android等工程中也一樣),有兩種version,一種是 CFBundleVersion ("Bundle Version"),也就是我們看到的version,另一種是CFBundleShortVersionString ("Bundle version string, short"),也就是我們看到的Build。

普通情況下,我們隻使用version即可,設定為"1.0", "1.1", "2.0" , etc,但如果你要使用兩個版本号時候,需要将build設定為1,2,3...等遞增的整數,有什麼用呢? 

version我們可以通過App Store、itunes或其它軟體看到,是給使用者看的,而build是我們在團隊開發中内部隻用的,隻有我們自己可以看到。比如團隊打算釋出1.0版本的時候,會釋出很多build版本供測試或QA團隊進行測試,你釋出了很多build,因為一直在修改着代碼,是以當你收到一條bug資訊時候,你怎麼知道是那個build引起的問題呢,這時候build版本号的有點就可以展現出來了,不是嗎。 

我這裡有一段代碼,可以在xcode編譯時候自動增加build号碼。 

先把 Info.plist 裡的版本号改成某個數字,然後 Targets → your target → Build Phases → Run Script 的地方加上: 

[cpp]   view plain  copy  print  ?

  1. version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $PRODUCT_SETTINGS_PATH`  
  2. version=`expr $version + 1`  
  3. /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $version" $PRODUCT_SETTINGS_PATH  
  4. #/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $version" $PRODUCT_SETTINGS_PATH 這行代碼會讓version也自增,一般不需要  
ios設定App版本号