如何自动增加和从代码读取Xcode项目的版本号

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)



Xcode项目和版本号相关的有2个地方Version和Build:

如果需要自动更新版本号有2种方法,都需要写脚本.

一种是用Xcode帮你做好的工具,脚本如下:

xcrun agvtool next-version -all

希望进一步了解详情的童鞋可以移步到以下2个地址中查看细节:

使用agvtool 自动化操作version and Build Numbers 的步骤

设置iOS项目BuildVersion自动增加

这里介绍一下第二种方法,首先还是添加脚本:

buildNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
shortVersion=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")

echo $buildNumber
echo $shortVersion

#if [ $buildNumber -ge 2 ];then
if [ $buildNumber -gt 2 ];then
    shortVersion=`echo "$shortVersion+0.1"|bc|awk '{printf "%.1f",$0}'`
    buildNumber=1
else
    buildNumber=$(($buildNumber+1))
fi

#date_v=`date +"%m%d"`

#buildNumber=`echo "scale=5;$buildNumber+0.01"|bc`
#buildNumber="$shortVersion.$buildNumber"

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $shortVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}"

代码首先显示原来的版本,然后分别更新Version号和Builder号,最后将新的版本号写入项目中.

我们通常还需要在程序代码中读取当前项目中的版本号,也很简单,代码如下:

-(NSString*)getAppVersion{
    NSString *ver = [[[NSBundle mainBundle] infoDictionary]
                     objectForKey:@"CFBundleShortVersionString"];
    NSString *build = [[[NSBundle mainBundle] infoDictionary]
                       objectForKey:@"CFBundleVersion"];
    return [NSString stringWithFormat:@"Version %@.%@",ver,build];
}

注意以上代码只能读取值,但不能写入值,至少本猫没有试验成功,如果哪位童鞋知道如何通过代码写入版本号,请参与后面的讨论.

有了版本自动更新机制和读取机制,我们就可以在App的启动画面中轻而易举的显示当前版本号了:

时间: 2024-10-02 18:52:26

如何自动增加和从代码读取Xcode项目的版本号的相关文章

jquery创建表格(自动增加表格)代码分享_jquery

复制代码 代码如下: <!DOCTYPE html><html dir="ltr" lang="zh-CN"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width" /><title>jQuery 表格自动增加</title&

jsp 增加,删除,读取xml文件中指定标记的内容代码

网页特效p/jsp.html target=_blank >jsp教程 增加,删除,读取xml文件中指定标记的内容代码 package xml; import java.io.file; import java.util.list; import org.dom4j.document; import org.dom4j.documentexception; import org.dom4j.element; import org.dom4j.qname; import org.dom4j.io.

gridview就自动增加一行

问题描述 我想实现在条码扫描这里输入C04160007,回车后,在C04160006这一行的下面自动增加一行来显示C04160007的信息,并保留原来的数据还在,就是要回车后自动向下增加一行记录我是用的dev的控件,代码在怎么写 解决方案 本帖最后由 live_123 于 2016-04-17 13:30:27 编辑解决方案二:晕~不是你了么?无论你是用dev的列表控件,还是windows的gridview控件,思想都是一项的如果gridview的数据源不是从数据库load的,那么无非就是添加第

jQuery表格自动增加

jQuery表格自动增加 点击上一个单元格里面的文本框,下面会自动增加一行. <!DOCTYPE html> <html dir="ltr" lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <

JS实现点击按钮自动增加一个单元格的方法

 这篇文章主要介绍了JS实现点击按钮自动增加一个单元格的方法,实例分析了javascript操作表格单元格的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS实现点击按钮自动增加一个单元格的方法.分享给大家供大家参考.具体分析如下: 这是一个网页在线自助生成表格的特效代码. 核心功能代码是JS实现,点击网页中的添加按钮,网页中自动增加一个单元格   代码如下: <HTML> <HEAD> <TITLE>js动态生成表格</TITLE>

【IOS-COCOS2D-X 游戏开发之七】整合COCOS2DX的ANDROID项目到XCODE项目中,XCODE编写&amp;编译代码,ANDROID导入打包运行即可!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/667.html 此篇针对较早的-x引擎讲解的,最新的可以参考: [Cocos2d-X(2.x) 游戏开发系列之二]cocos2dx最新2.0.1版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入打包运行即可!   之前有两节介绍了mac下配置Android NDK并搭建Cocos2dX以

网站后台编辑器自动出现css引用代码

问题描述 网站后台编辑器自动出现css引用代码 在后台编辑器编辑或添加内容的时候,用的是CuteEditor编辑器,点击提交按钮之后,总会自动出现这一串内容: @import url(http://qxw1194760126.my3w.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);后来发现在编辑器编辑的时候,每切换到html 代码模式的时候,就会增加一串这样的内容,例如我切换了3次,

再请教DataTable的InputRow时怎么控制自动增加列的问题

问题描述 帖子沉到底去了,又不能继续顶(威胁我要受到什么严厉惩罚,好像这里都是一帮无所事事的混混,我晕死,纯粹一个技术论坛也搞白色恐怖),不得不重发.请版主见谅,我是真的很着急代码:ds.Tables["ATABZON"].Columns[0].Unique=true;ds.Tables["ATABZON"].Columns[0].AutoIncrement=true;ds.Tables["ATABZON"].Columns[0].AutoInc

JS实现点击按钮自动增加一个单元格的方法_javascript技巧

本文实例讲述了JS实现点击按钮自动增加一个单元格的方法.分享给大家供大家参考.具体分析如下: 这是一个网页在线自助生成表格的特效代码. 核心功能代码是JS实现,点击网页中的添加按钮,网页中自动增加一个单元格 复制代码 代码如下: <HTML> <HEAD> <TITLE>js动态生成表格</TITLE> <META content="text/html; charset=hz-gb-2312" http-equiv=Content-