2014-06-09 95 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

相关问题