哪些 iOS 应用程序版本/内部版本号必须在 App Store 发布时增加?

2023-12-08

iOS 应用程序的版本/构建字段包括:

  • “版本”CFBundleShortVersionString(字符串 - iOS、OS X)指定捆绑包的发布版本号,它标识应用程序的已发布迭代。发行版本号是由三个句点分隔的整数组成的字符串。

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

  • “iTunes Connect 版本号”:您在 iTunes Connect 上创建应用程序的新版本时指定的版本号。

我的问题是:

哪个版本/内部版本号是需要增加应用程序的新版本何时上传到 iTunes Connect 和/或发布到 App Store?

可以是“版本”CFBundleShortVersionString或“构建”CFBundleVersion应用程序更新之间保持不变?

对于 Apple 来源或 iTunesConnect 在上传无效版本/内部版本号时显示的确切错误消息,可加分。


Android / Google Play 注意:

引发这个问题的讨论是 Google Play 商店中 Android 应用程序的公共“版本”确实not需要增加并且在no way已验证。这android:versionName可以在版本、升级、降级之间保持不变,或者是任何随机字符串,而不是看似有效的“版本号”。

android:versionName— 表示应用程序代码的发布版本的字符串值,应向用户显示。

该值是一个字符串,以便您可以将应用程序版本描述为<major>.<minor>.<point>细绳,或任何其他类型绝对或相对版本标识符。

Android 中 versionName 和 versionNumber 的区别

鉴于android:versionCode强制为释放时递增的整数。


苹果文档

如中所述新接受的答案苹果最近发布了一份技术说明,详细介绍了他们的版本和内部版本号方案:

Apple 技术说明 TN2420 - 版本号和内部版本号


Apple 技术说明 TN2420、版本号和内部版本号

Summary:

  • The pair (Version, Build number) must be unique.
    • 该序列有效: (1.0.1, 12) -> (1.0.1, 13) -> (1.0.2, 13) -> (1.0.2, 14) ...
  • Version (CFBundleShortVersionString) 必须按升序排列。
  • Build number (CFBundle版本) 必须按升序排列。

版本号和内部版本号清单

以下是您在向 App Store 提交新版本时可以检查的一些事项。确保正确设置版本号和内部版本号将有助于避免您的应用程序因配置不当而被自动拒绝。

  1. 对于应用程序的每个新版本,您需要发明一个新的版本号。该数字应大于您上次使用的版本号。尽管您可以为应用程序的任何特定版本提供许多版本,但您只需要为应用程序的每个新版本使用一个新版本号。
  2. 您不能重复使用版本号。
  3. 对于您提交的每个新版本,您将需要发明一个新的版本号,其值大于您使用的最后一个版本号(对于同一版本)。
  4. 您可以在不同的版本系列中重复使用内部版本号,但不能在同一版本系列中重复使用内部版本号。对于 macOS 应用程序,您无法在任何版本系列中重复使用内部版本号。

根据清单,以下内容(Version, Build Number)顺序也是有效的。

  • 案例:重复利用Build Number在不同的发布系列中。 (笔记:NOTmacOS 应用程序)

    (1.0.0, 1) -> (1.0.0, 2) -> ... -> (1.0.0, 11) -> (1.0.1, 1) -> (1.0.1, 2)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

哪些 iOS 应用程序版本/内部版本号必须在 App Store 发布时增加? 的相关文章

  • 使用 UItableviewCell 实现 Google 地图

    我正在尝试在 UItableviewCell 组件内实现谷歌地图 我这样做的方法是在原型单元中定义 GMSMapView 然后使用 dequeueReusableCell 方法配置地图单元 但是 我尝试应用的任何更改都会失败 例如添加标记
  • Flutter - 选择 TextFormField 时键盘不显示

    我目前遇到一个问题 当我选择任何一个时 键盘不会出现TextFormFielda 内的小部件Form小部件 这是表单的代码 位于我的内部CreateAccountForm有状态的小部件 import package flutter mate
  • 为什么在尝试编译此代码时会收到错误“错误:未知类型名称'虚拟'”?

    Code struct IRenderingEngine virtual void Initialize int width int height 0 virtual void Render const 0 virtual void Upd
  • 如何检测 UISwipeGestureRecognizer 的结束?

    来自苹果文档 滑动是一种离散手势 因此每个手势仅发送一次关联的操作消息 void touchesEnded NSSet touches withEvent UIEvent event 当我使用 UISwipeGestureRecognize
  • Swift 3:如何访问48字节CFData中matrix_float3x3的值?

    我正在尝试访问内在矩阵answer https stackoverflow com a 48159895 9296667 通过运行下面的命令 我能够得到一个 48 字节的任意对象 https developer apple com docu
  • mgwt - 以编程方式改变方向

    是否可以在 gwt mgwt 应用程序中更改强制执行特定的屏幕方向 可以说我希望用户始终以横向模式使用应用程序 这取决于 是作为phonegap应用程序 而不是在浏览器内部 如果您作为 Web 应用程序运行 则不需要t get any co
  • 无法从 iOS 中的框架访问 .nib(XIB) 文件

    我已经从现有的代码库中创建了一个框架 并尝试在新的代码库中使用它 这很好用 但是当我尝试访问属于我的框架包的一部分的 nib 文件时 我的应用程序崩溃了 这是我用来访问视图控制器 XIB 文件的代码 testViewController c
  • iOS Safari Mobile 禁用上一个和下一个选择输入

    上周五我发现了关于此问题的类似问题 但似乎无法再次找到它 如果有人能指出我正确的方向 那就太好了 本质上我在一个页面上有多个选择菜单 第一个在加载时填充 第二个在第一个选择时填充 够简单的 但是 在 iOS 设备中 当您点击选择元素时 它会
  • .showsPhysics 内存泄漏

    我最近花了 5 个小时尝试调试 Spritekit 应用程序中的内存泄漏 应用程序启动后 我注意到内存使用量略有上升 我花了 5 个小时中的 3 个小时挖掘参考资料 了解强与弱的关系ARC https developer apple com
  • 如何在iOS中处理1到3个手指的滑动手势

    我使用以下代码来处理代码中的 1 根手指滑动 UISwipeGestureRecognizer swipe UISwipeGestureRecognizer alloc initWithTarget self action selector
  • AppStore 提交:错误 ITMS-9000:“无效的捆绑结构 - 不允许二进制文件‘MyApp.app/BuildAgent’

    我陷入了以下错误 我根本不明白 错误 ITMS 9000 无效的捆绑结构 不允许使用二进制文件 MyApp app BuildAgent 您的应用程序可能只包含一个可执行文件 当我使用 Xcode 从 Archive 导出到 IPA 时 我
  • iOS 中 NSDecimalNumber 的小数分隔符错误

    我尝试通过以下方式输出具有正确的小数分隔符的十进制数的描述 NSString strValue 9 94300 NSDecimalNumber decimalNumber NSDecimalNumber decimalNumberWithS
  • dyld:无法加载插入的库

    当我尝试运行 UI 和单元测试时 出现异常 dyld 无法加载插入的库 private var containers Bundle Application AutoTestingApp app Frameworks IDEBundleInj
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • AVAssetExportSession 无法导出从 iCloud 下载的视频

    我正在尝试创建从用户相册中选择的视频的缩小版本 输出的最大尺寸为 720p 因此 在检索视频时 我使用 mediumQualityFormat as the deliveryMode 如果用户设备中不存在原始视频或其中等质量版本 这会导致
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • 如何解决 Xcode 5 中的红色(已移动)文件?

    在 Xcode 4 中 当您要移动文件时 可以通过单击右侧菜单中的按钮并通过 Finder 选择新位置来解析文件的新位置 在 Xcode 5 中 右侧菜单中没有按钮 我还没有找到任何方法通过右键单击文件或顶部菜单栏选项来指定文件的新位置 在
  • UIView 圆角 - Swift 2.0?

    我会尝试将一些项目更新到 Swift 2 0 我有一个视图 左上角有一个圆角 在 Swift 没有警告 没有错误 只是没有圆角 这就是它在 Swift let maskPath UIBezierPath roundedRect conten
  • 叠加 SKScene 未显示

    我正在尝试将 SKScene 覆盖在 SCNScene 上 当我在模拟器和 iPhone6 上运行我的应用程序时 overlayScene SKScene 按预期显示 但是当我尝试在 iPhone5 上运行它 尝试了 2 个不同的设备 时
  • 是否可以跨 2 个不同的 iOS 应用程序访问数据?

    假设我在 App1 中存储了一些 ID 数据 并希望在同一设备上的 App2 中访问它 平台上可以这样吗 如果没有的话有什么解决方法吗 您可以使用iOS 钥匙扣 http developer apple com library ios do

随机推荐

  • Codeigniter 的路由不正确

    我安装了 Windows 版 Apache 我购买了 CodeIgniter Professional 并下载了他们的源代码 它说我应该将其 htaccess 放在网站的根文件夹中 所以我这样做了 我将基本 URL 设置为http 127
  • 获取公共互联网 IP 地址/地理位置的智能方法

    我在本地网络上有一台计算机 位于 NAT 路由器后面 我有一些 192 168 0 x 地址 但我真的很想知道我的publicIP 地址 未在 如何获取运行 C 应用程序的服务器的 IP 地址 or 如何在C 中获取机器的IP地址 我需要
  • 是否有一个类似字典的不可变对象? [复制]

    这个问题在这里已经有答案了 我想要一个Python对象 它可以灵活地接受任何键 并且我可以通过键访问 就像字典一样 但它是不可变的 一种选择是灵活地生成namedtuple但这样做是不好的做法吗 在下面的示例中 linter 不会期望nt有
  • 在 Chrome 扩展中显示几个 JS 变量值

    是否可以在我构建的扩展中获取我的网站 2 3 js 变量 以便我能够看到我构建的网站背后的信息 该扩展将帮助我开发我的网站 查看给定网站的变量 使用内容脚本 是可能的 只需注入您自己的内容脚本 并创建一个读取变量的脚本标记 由于内容脚本功能
  • 在Windows 7中为java和ant设置环境变量

    我有一本书说要执行以下操作 添加 JAVA HOME 和 ANT HOME 环境变量 查看 将 JAVA HOME bin 和 ANT HOME bin 添加到我的路径变量 检查 当我转到命令提示符并尝试 ant version 时 它说
  • 如何创建像 std::cout 这样的函数?

    我正在为我的项目创建自己的日志记录实用程序 我想创建一个像 iostream 的 std cout 这样的函数 以记录到文件并打印到控制台 这就是我想要的 enum debug error warning info LOG level lt
  • PHP 中使用数组上的 foreach 循环对父节点和子节点进行排序的递归函数

    我有一个存储在数组中的数据集 该数组使用父子 id 引用自身 id parent id title等等 顶层有一个parent id of 0 可以有无数的亲子关系 所以我用一个对这个数组进行排序foreach在递归函数中循环以根据其父元素
  • 将 JavaScript 确认框的结果分配给 PHP 变量

    this is in php function msgbox msg type if type alert Simple alert window gt
  • 方法 BOOL 从块内部返回

    我正在尝试将 Beelex 的新应用内购买验证添加到我的应用程序中 但是我正在努力从块内传递返回值 这是我现在的代码 正如您所看到的 我设置了一个 BOOL 值 然后在验证块中设置了 BOOL 并在最后返回它 然而 最后的 return 是
  • 如何制作带有日期和时间列的mysql表?

    我正在尝试创建一个包含日期和时间列的表 用于在数据库中记录条目时存储日期和时间信息 在 MySQL 文档中显示了以下示例 CREATE TABLE t1 ts TIMESTAMP DEFAULT CURRENT TIMESTAMP dt D
  • Typedef 位域变量

    我想要一个 1 位整数的 typedef 所以我想到了这一点typedef int 1 FLAG 但我遇到了错误 有什么办法可以做到这一点吗 谢谢 No C 程序中最小的可寻址 事物 是byte or char A char至少有 8 位长
  • Flex DataGrid 列宽

    在我的 Flex 应用程序中 我将列的宽度和可见性存储在 xml 文件中 当应用程序加载时 它从 xml 文件中读取并设置适用的列值 for i 0 i lt columnsOrder length i newOrder i myDG co
  • 错误:执行 rvm 升级命令后缺少 RVM 环境文件 - Passenger 4.0.23

    我在 Mac Mini 服务器 Mavericks 10 9 1 上运行 ruby 2 0 0 p247 我了解到存在安全漏洞 因此我决定升级以使用最新的 Ruby 补丁 2 0 0 p353 我执行了以下命令 gem update sys
  • TypeError:无法读取 Object.View_FullEditTaxComponent_0._co 处未定义的属性“taxTypeId”[作为 updateDirectives]

    我有一个详细信息表单 当从列表表单中选择时 应该加载记录的详细信息 当详细信息表单加载时 它应该显示所选记录的详细信息 就我而言 它显示的详细信息很好 但它在控制台上显示标题错误 导致应用程序崩溃 HTML 错误行
  • 在react-router 4中使用锚标签

    当用户通过锚链接导航到页面时 我希望页面向下滚动到我的锚标记 我正在使用react router 4 我的定义如下 navbar export default props gt const updateModal updateRoute p
  • 在R中使用rsm在persp后画一条线

    我使用以下代码使用 RSM 包的 persp 函数在 R 中的 x y 平面上绘制了带有轮廓投影的 3d 响应曲面 x lt seq 3 3 by 0 25 y lt seq 3 3 by 0 25 d lt expand grid x x
  • 根据文本值更改表格单元格的文本和背景颜色

    我有一个包含三列的表 如下所示 类别 项目 STATUS 该表填充了来自 php 脚本的数据 我需要确保如果 PRIORITY 值是 php 数据导入的结果 标题 STATUS 下的单元格将更改为红色背景和白色文本颜色 这是我的js脚本
  • 使用 jps 未列出 namenode、datanode

    环境 ubuntu 14 04 hadoop 2 6 我输入后start all sh and jps DataNode未在终端上列出 gt jps 9529 ResourceManager 9652 NodeManager 9060 Na
  • 在 Javascript 中使用闭包的好例子

    嗯 我最近了解了 Javascript 中的闭包 虽然我发现它的概念确实令人惊叹 但我自己还没有找到适合它们的良好应用程序 在所有博客文章中 我找到的所有教程中 我都很好地解释了它们是什么以及如何使用它们 我在任何地方都找不到让我思考的例子
  • 哪些 iOS 应用程序版本/内部版本号必须在 App Store 发布时增加?

    iOS 应用程序的版本 构建字段包括 版本 CFBundleShortVersionString 字符串 iOS OS X 指定捆绑包的发布版本号 它标识应用程序的已发布迭代 发行版本号是由三个句点分隔的整数组成的字符串 Build CFB