如何设置具有相同捆绑版本的两个目标的 XCode 项目
Posted
技术标签:
【中文标题】如何设置具有相同捆绑版本的两个目标的 XCode 项目【英文标题】:how to setting XCode project that have two target with same bundle version 【发布时间】:2020-11-29 19:32:35 【问题描述】:因此,如果我在 appstoreconnect 上上传并在每个目标上有不同的捆绑版本,它将被苹果忽略。 ignored info when uploading to appstoreconnect
PLIST="$PROJECT_DIR/$INFOPLIST_FILE"
PLB=/usr/libexec/PlistBuddy
LAST_BUILD_VERSION=$($PLB -c "Print CFBundleVersion" "$PLIST")
IFS=. components=($LAST_BUILD_VERSION)
major=$components[0]
minor=$components[1]
micro=$components[2]
build=$components[3]
build_plus=$((build + 1))
old_build="$major.$minor.$micro.$build"
new_build="$major.$minor.$micro.$build_plus"
$PLB -c "Set :CFBundleVersion $MARKETING_VERSION.$build_plus" "$PLIST"
我已经制作了一个运行脚本来更改一个目标的最后一个数字,但我不知道使用运行脚本更改另一个目标
如果它是 5.5.10.1,那么它会将其更改为 5.5.10.2 作为主要目标。但另一个目标没有改变
【问题讨论】:
【参考方案1】:我认为您可以在项目级别使用用户定义设置,然后将该值用于所有目标。
【讨论】:
能否给一步一步的使用User-Defined? @dimaskpz 我更新了我的答案,请看一下。但是为什么不对所有其他目标使用相同的运行脚本呢? 感谢您的教程。我不用于另一个目标的原因是我不知道如何将目录获取到另一个 PLIST 目标。使用此变量 $INFOPLIST_FILE 的主要目标的原因。你对我的运行脚本有什么建议吗?如果它仅使用 runscript 工作,我会很高兴 每个目标都包含它自己的Info.plist
文件,并且该文件的路径也可以更改。您可以使用$INFOPLIST_FILE
获取Info.plist
文件的路径。对于运行脚本,您知道每个目标都可以包含自己的运行脚本吗?在特定目标中添加运行脚本并使用 $INFOPLIST_FILE
将为您提供该目标的 Info.plist
的正确位置。
不稳定的解决方案。版本的“常规”选项卡中的任何编辑(未禁用字段)都会破坏此绑定。以上是关于如何设置具有相同捆绑版本的两个目标的 XCode 项目的主要内容,如果未能解决你的问题,请参考以下文章