如何在<name> -AppStore方案上通过归档增加次要版本?并通过构建</name>增加构建版本

时间:2013-09-18 03:46:38

标签: ios xcode sh

我是新的脚本。我研究了如何自动增加内部版本号和版本号。我知道如何创建脚本,让XCode在构建应用程序时调用该脚本。但我没有看到任何解决方案可以处理我的任务。

我的问题是:

是否有任何现有脚本可以执行以下两项操作?

1。使用-AppStore方案时,通过归档增加次要版本。
2。按构建增加构建版本。

P.S。

我找到了Version vs build in XCode 4,我实施了@nekno的解决方案。

在Xcode 4.2中:

加载Xcode项目。 在左侧窗格中,单击层次结构最顶部的项目。这将加载项目设置编辑器。 在中心窗格的左侧,单击TARGETS标题下的应用程序。您需要为每个项目目标配置此设置。 选择Build Phases选项卡。 在右下角,单击Add Build Phase按钮并选择Add Run Script。 拖放新的“运行脚本”阶段,将其移至“复制包资源”阶段之前(当app-info.plist文件与您的应用程序捆绑在一起时)。 在新的Run Script阶段,单独保留Shell:/ bin / sh值。将以下内容复制并粘贴到整数构建号的脚本区域中:

#!/bin/bash    
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

在@AlonAmir贡献时,您可以使用以下脚本代替十六进制内部版本号:

#!/bin/bash    
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$((0x$buildNumber)) 
buildNumber=$(($buildNumber + 1)) 
buildNumber=$(printf "%X" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

如果您有一个显示版本和构建的设置包,则可以在脚本末尾添加以下内容以更新版本和构建。注意:更改PreferenceSpecifiers值以匹配您的设置。 PreferenceSpecifiers:2表示在plist文件中的PreferenceSpecifiers数组下查看索引2处的项目,因此对于基于0的索引,这是数组中的第三个首选项设置。

productVersion=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root.plist
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root.plist

如果您有适用于iPad和iPad的通用应用程序iPhone,然后您还可以设置iPhone文件的设置:

/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root~iphone.plist    
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root~iphone.plist

但是我收到了错误:

Script-E14D3F9517E94A3300ABC5CA.sh: line 4: 1.0.18 + 1: syntax error: invalid arithmetic operator (error token is ".0.18 + 1")
Command /bin/sh failed with exit code 1

我想这是因为该脚本已经过时了以回答这个问题。我正在使用XCode 4.6.3

0 个答案:

没有答案