xcode上version,build和安卓的版本号

如下图,在General里面是这么显示的

屏幕快照 2015-03-02 下午2.17.49.png

其实它是对应的info.plist文件里面的内容的

屏幕快照 2015-03-02 下午2.18.27.png

图片里的 Version 对应的就是CFBundleShortVersionString (发布版本号 如当前上架版本为1.1.0  之后你更新的时候可以改为1.2.0)

Build 对应的是 CFBundleVersion内部标示,用以记录开发版本的,每次更新的时候都需要比上一次高 如:当前版本是11  下一次就要大于11 比如 12,13 ....10000)

在 info.plist 文件里面,Bundle version 对应的  Build  ,而 Bundle versions string,short 对于的是Version

区别:

CFBundleVersion,标识(发布或未发布)的内部版本号,构建版本号。这是一个单调增加的字符串,包括一个或多个时期分隔的整数。

CFBundleShortVersionString  标识应用程序的发布版本号。

该版本的版本号是三个时期分隔的整数组成的字符串。第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。第二个整数表示的修订,实现较突出的特点。第三个整数代表维护版本。该键的值不同于“CFBundleVersion”标识。

注意

获取build构建版本

-(NSString*)getAppBuildVersion()
{
	NSString *buildVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey];
	return buildVersion;
}

是获取 build构建版本方法,而不是获取软件版本的方法,这个很重要,别弄混了

获取version软件版本

而获取version的正确方法是这样的

-(NSString*)getAppVersion()
{
    NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)@"CFBundleShortVersionString"];
    return version;
}

而在安卓中,是修改的Manifest.xml文件

屏幕快照 2015-03-02 下午2.17.29.png

在这段开头的代码中

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.shbreak.xxxx"
    android:installLocation="preferExternal"
    android:versionCode="9"
    android:versionName="1.2.0" >

versionCode就相当于build构建版本,

而versionname就相当于version软件版本

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment