通过Testflight中的错误上传相同版本下的新Build
Posted
技术标签:
【中文标题】通过Testflight中的错误上传相同版本下的新Build【英文标题】:Uploading new Build under same version through error in Testflight 【发布时间】:2018-09-25 10:09:13 【问题描述】:我遇到了一个奇怪的错误。我已多次上传应用程序,但收到一个奇怪的错误。
下面是TestFlight的截图
我已在 2.4 版及其在 Testflight 上上传了 1.1 的新版本。
现在如果我尝试在同一版本下上传内部版本号 1.2,我会遇到错误
我已经清理了我的项目,重新启动了 Xcode,但仍然出现同样的错误。
请帮助我在这里做错了什么。任何想法都会很棒。
【问题讨论】:
你准备出售的版本是什么 其版本号为 1.0 的 2.4 版 报错说必须增加2.4版本号。这显然是因为您的 2.4 版本已上线,如果您上传新版本,它将是新版本.. 所以版本号需要增加 好的..为什么内部版本号 1.1 在同一版本 2.4 下获得批准 应用版本必须在每次发布时增加。您无法使用现有版本号发布应用程序的新版本?你什么时候做的build 1.1?我怀疑是否存在具有相同内部版本号的实时版本会被批准 【参考方案1】:您的终端似乎遇到了一些连接问题。我建议你过一段时间再试一次。众所周知,Apple 服务器偶尔会犯一些奇特的错误。
顺便说一句,每次上传时,您都可以保持版本不变,但您应该始终更新构建。但请记住,新应用程序版本应始终高于准备销售版本的版本号。为了保持简洁明了,我使用简单的整数,然后在每次上传时将其递增一。内部版本号不会显示给最终用户,因此无需担心。
【讨论】:
【参考方案2】:来自 Apple 文档:
CFBundleVersion (String - ios, macOS) 指定构建版本 包的编号,它标识一个迭代(已发布或 未发布)的捆绑包。
构建版本号应该是一个由三个组成的字符串 非负的,以句点分隔的整数,第一个整数是 大于零,例如 3.1.2。字符串应该只包含 数字 (0-9) 和句点 (.) 字符。前导零被截断 从每个整数中,将被忽略(即 1.02.3 是等价的 至 1.2.3)。每个元素的含义如下:
第一个数字代表最新的主要版本,是 最大长度限制为四位数。第二个数字 代表最近的重大修订,仅限于 最大长度为两位数。第三个数字代表最多 最近的小错误修复,最大长度限制为两位数。 如果第三个数字的值为0,可以省略,第二个 期间。
在开发应用的新版本时,您可以添加后缀 在正在更新的号码之后;例如 3.1.3a1。这 后缀中的字符代表该产品的发展阶段 新版本。例如,您可以表示开发、alpha、beta、 和最终候选人,由 d、a、b 和 fc 组成。最终号码在 suffix 为构建版本,不能为 0,也不能超过 255。 当您发布应用的新版本时,请移除后缀。
CFBundleShortVersionString (String - iOS, macOS) 指定版本 捆绑包的版本号,它标识已发布的迭代 应用程序。
发布版本号是一个由三部分组成的字符串 句点分隔的整数。第一个整数代表主要修订 到应用程序,例如实现新功能或主要功能的修订 变化。第二个整数表示实现较少的修订 突出的特点。第三个整数代表维护版本 修订。
此键的值与 CFBundleVersion 的值不同, 标识应用程序的迭代(已发布或未发布)。
可以通过将它包含在 InfoPlist.strings 中来本地化这个键 文件。
另请参阅 NSHumanReadableCopyright。
所以基本上它告诉你你有一个 1.1 版本已经是 2.4,只要增加 2.5 就可以解决问题。 我通常使用一个使用 UNIX 时间戳自动增加发布版本(构建)的脚本。
【讨论】:
以上是关于通过Testflight中的错误上传相同版本下的新Build的主要内容,如果未能解决你的问题,请参考以下文章
将新版本上传到 Testflight 但保持旧版本有效(Xamarin)
Appstore 发布会影响 TestFlight 测试人员吗?
将包上传到 testflight 错误 ITMS-90125