【问题标题】:Can iOS app's version and build numbers be strings?iOS 应用程序的版本号和内部版本号可以是字符串吗?
【发布时间】:2015-10-19 12:57:07
【问题描述】:

我注意到我可以通过字符串命名我当前的构建。 Xcode 允许这样做。但我还没有看到有人这样做。对我来说使用单词而不是 1.3.78 会很方便。这合法吗? “合法”是指应用审核团队不会拒绝它。

【问题讨论】:

    标签: ios objective-c iphone xcode swift


    【解决方案1】:
    • "Version" CFBundleShortVersionString(字符串 - iOS、OS X)指定捆绑包的发布版本号,用于标识应用程序的发布迭代。发布版本号是一个由三个以句点分隔的整数组成的字符串。

    • "Build" CFBundleVersion(字符串 - iOS、OS X)指定捆绑包的构建版本号,它标识捆绑包的迭代(已发布或未发布)。构建版本号应该是由三个非负的、句点分隔的整数组成的字符串,其中第一个整数大于零。该字符串应仅包含数字 (0-9) 和句点 (.) 字符。前导零会从每个整数中截断并被忽略(即 1.02.3 等同于 1.2.3)。此键不可本地化。

    CFBundleVersion -- 标识itunes conncet 中可用的最新版本和当前版本,如果您在合法 中使用,则应用商店不接受/拒绝您的应用,可能是二进制文件也没有上传。

    您可以在 info.plist CFBundleVersionCFBundleShortVersionString 中看到类型

    <key>CFBundleVersion</key>
    <string>1.0</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    

    【讨论】:

    • 所以我的问题的答案是否定的,我应该坚持“1.2.3”命名约定?
    • @efimovD -- 绝对不能使用它