【问题标题】:how to setting XCode project that have two target with same bundle version如何设置具有相同捆绑版本的两个目标的 XCode 项目
【发布时间】: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 作为主要目标。但另一个目标没有改变

【问题讨论】:

    标签: swift xcode build settings run-script


    【解决方案1】:

    我认为您可以在项目级别使用用户定义设置,然后将该值用于所有目标。

    【讨论】:

    • 能否给一步一步的使用User-Defined?
    • @dimaskpz 我更新了我的答案,请看一下。但是为什么不对所有其他目标使用相同的运行脚本呢?
    • 感谢您的教程。我不用于另一个目标的原因是我不知道如何将目录获取到另一个 PLIST 目标。使用此变量 ${INFOPLIST_FILE} 的主要目标的原因。你对我的运行脚本有什么建议吗?如果它仅使用 runscript 工作,我会很高兴
    • 每个目标都包含它自己的Info.plist 文件,并且该文件的路径也可以更改。您可以使用${INFOPLIST_FILE} 获取Info.plist 文件的路径。对于运行脚本,您知道每个目标都可以包含自己的运行脚本吗?在特定目标中添加运行脚本并使用 ${INFOPLIST_FILE} 将为您提供该目标的 Info.plist 的正确位置。
    • 不稳定的解决方案。版本的“常规”选项卡中的任何编辑(未禁用字段)都会破坏此绑定。
    猜你喜欢
    • 2021-07-02
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 2015-09-26
    • 2023-03-17
    相关资源
    最近更新 更多