Cordova app中的iOS版本号

Ade*_*Ade 36 xcode ios cordova

使用Cordova 3.5.0,当我运行cordova prepare ios它时,使用来自的版本字符串覆盖我的内部版本号以及应用程序的版本号config.xml.

从:

<widget id="tld.domain.app" version="1.0.1"  
Run Code Online (Sandbox Code Playgroud)

它将CFBundleVersion设置为与短版本相同:

在此输入图像描述

所以我必须手动保持将我的内部版本号重置为我的格式YYYYMMDD.

理想情况下,我希望单独保留构建号,或者能够在config.xml文件中明确设置它.

这些都可能吗?

Ade*_*Ade 72

我在这个已解决的问题中找到了答案.

iOS和Android 有单独的versionCode属性(单独version),需要添加到config.xml文件中:

<widget ... android-versionCode="201406092" ios-CFBundleVersion="201406092"
Run Code Online (Sandbox Code Playgroud)

  • 这个答案发布几周后,这个信息被[添加](https://github.com/apache/cordova-docs/commit/1d07d1d38fa485d7d308a7ecbe753ff119ac52f5)到[`config.xml`文件的文档](https ://cordova.apache.org/docs/en/4.0.0/config_ref_index.md.html)(“附加版本控制”部分)。 (5认同)

use*_*922 29

这篇文章在这里是一个更清晰一点对我来说,多了几分完整的,所以我说出来,以防万一它帮助.请注意,实际上,它几乎与Ade所说的完全相同.我只提供它,因为我第一次阅读Ade的答案时,我感到很困惑,并且直到看到下面的答案才完全理解他的答案.

如果要将版本号与版本号分开,可以将以下属性添加到widgetconfig.xml中的标记:

version="VERSIONNR" android-versionCode="BUILDNR" ios-CFBundleVersion="BUILDNR"
Run Code Online (Sandbox Code Playgroud)

所以包含这些属性的完整标记看起来像这样:

<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">
Run Code Online (Sandbox Code Playgroud)

(大写文本是占位符)

  • 必须小心`android-versionCode`属性,我认为它不能接受与`ios-CFBundleVersion`属性相同的值.当我将这些属性设置为相同的值时,我在AndroidStudio中打开cordova应用程序时遇到了问题.可能`android-versionCode`必须是一个整数,而`ios-CFBundleVersion`可以有小数点? (3认同)
  • 好点子。就我而言,ios 包有一个小数,但 android 没有。所以 ios 的版本是 2.58,而 android 的版本是 258。我保持两者同步,所以至少可以告诉两个设备使用基本相同的版本。 (2认同)