2014-06-09 94 views
28

使用Cordova 3.5.0,當我運行cordova prepare ios時,它會使用​​3210的版本字符串覆蓋我的內部版本號以及應用程序的版本號。在科爾多瓦應用程序的iOS內部版本號

來源:

<widget id="tld.domain.app" version="1.0.1" 

它集CFBundleVersion一樣的短版:

enter image description here

所以我必須手動保持保持重置我的版本號到我的格式是YYYYMMDD

理想情況下,我希望它可以單獨保留內部版本號,或者能夠在config.xml文件中明確地設置它。

這些都可能嗎?

+0

(我嘗試添加'build = N'屬性) – Ade

回答

56

我在this resolved issue找到了答案。

有獨立versionCode屬性(獨立於version)適用於iOS和Android,需要被添加到您的config.xml文件:

<widget ... android-versionCode="201406092" ios-CFBundleVersion="201406092" 
+3

發佈這個答案几周後,這些信息被添加了(https://github.com/apache/cordova-docs/commit/ 1d07d1d38fa485d7d308a7ecbe753ff119ac52f5)添加到[config.xml文件的文檔](https://cordova.apache.org/docs/en/4.0.0/config_ref_index.md.html)(「附加版本控制」部分)。 – TachyonVortex

24

這篇文章here是一個更清晰一點對我來說,一點點更完整,所以我提到它以防萬一它有幫助。請注意,這與Ade說的幾乎完全一樣。我只是提供它,因爲我第一次讀阿德的答案,我很困惑,並沒有完全理解他的答案,直到我看到下面的答案。

如果你想的版本號從版本號分開,你 可以在config.xml中添加以下屬性到widget標籤:

version="VERSIONNR" android-versionCode="BUILDNR" ios-CFBundleVersion="BUILDNR" 

如此完整的標籤,這些屬性包括,看起來是這樣的:

<widget id="APPID" version="VERSIONNR" android-versionCode="BUILDNR" 
ios-CFBundleVersion="BUILDNR" xmlns="http://www.w3.org/ns/widgets" 
xmlns:cdv="http://cordova.apache.org/ns/1.0"> 

(大寫文字是佔位符)

+3

必須小心'android-versionCode'屬性,我認爲它不能接受與'ios-CFBundleVersion'屬性相同的值。當我將這些屬性設置爲相同的值時,在AndroidStudio中打開Cordova應用時出現問題。可能'android-versionCode'必須是一個整數,而'ios-CFBundleVersion'可以有小數點? – newenglander

+1

好點。在我的情況下,ios包有一個小數,但android不。所以ios的版本是2.58,但是android的版本是258.我保持這兩個版本的同步,所以至少可以告訴兩個設備使用基本相同的版本。 – user3329922

相關問題