zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

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

xcode项目自动代码 如何 读取 增加 版本号
2023-09-14 08:56:50 时间

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


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

 buildNumber=$(($buildNumber+1))

#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的启动画面中轻而易举的显示当前版本号了:

这里写图片描述


在 Xcode 项目中使用 swift package fetch 本文讲的是在 Xcode 项目中使用 swift package fetch,到目前为止,Cocoa with Love 的 git 仓库都使用“git subtrees”来管理相关依赖,所有的依赖都被拷贝并静态存放于依赖方目录下。我希望能找到一种更动态地依赖管理方式来代替现有的方案
Xcode打包分布准备 对于新手来说,如果是混合开发或者纯RN应用开发好后,想打包上线了,却发现官方文档没有找到详细打包的流程文档,对于完全没有经验的新手真的不太好友。