如下图,在General里面是这么显示的
其实它是对应的info.plist文件里面的内容的
图片里的 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文件
在这段开头的代码中
<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软件版本
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/63.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!
1 条评论
不错,必须顶一下!