ios - 使用旧设备的 iOS 用户可以查看并下载我的应用程序的早期版本吗?

标签 ios iphone app-store 64-bit app-store-connect

我的应用程序目前在 App Store 中提供,适用于 armv7arm64 架构。假设它是版本1.0。 由于二进制文件尺寸较大,我正在考虑仅针对 64 位设备以避免 fat 二进制文件中的 armv7 和 armv7s 切片。由于第三方框架(特别是 Google),目前无法选择 Bitcode,因此 64 位定位是我的最后手段。假设它是 2.0 版本。

如果用户使用 armv7 设备在 App Store 上查找我的应用程序,会发生什么情况? AFAIK,如果用户之前下载过应用版本 1.0,则会提供再次下载 1.0 的选项(即:恢复之前的下载)。

但是,如果用户以前从未下载过该应用程序怎么办?是否可以选择下载 1.0 作为应用程序的“最后兼容”版本?或者是否会被迫下载不在用户设备中运行的2.0

我想提交 arm64 更新而不限制我的受众(如果 armv7 用户仍然使用该应用的早期版本,则没有问题)。


编辑

正如 Nicolas Braun 所指出的,由于我的应用目前支持 armv7arm64,我无法提交 arm64-仅更新,因为它会限制设备要求。

如果我提交需要 iOS >= 9 且没有位码支持的更新,客户是否能够下载仅包含该版本所需的可执行架构的变体,该怎么办?目标设备?

最佳答案

首先,一旦您使应用程序可用于一组设备,您就不得添加技术限制(即设备功能),以阻止该应用程序在以前兼容的设备上运行。

Apple Doc中有说明尽管确实不清楚:

Important: All device requirement changes must be made when you submit an update to your binary. You are permitted only to expand your device requirements. Submitting an update to your binary to restrict your device requirements is not permitted. You are unable to restrict device requirements because this action will keep customers who have previously downloaded your app from running new updates.

您可以更改的唯一限制兼容设备的参数是最低操作系统版本。更具体地说

Developers can add restrictions to UIRequiredDeviceCapabilities on app updates provided any device that is dropped cannot support the min os version specified. Source

也就是说,我相信无论 Bitcode 是否激活,App Thinning 都可以在 iOS9 上运行。取自Apple App Thinning doc

Slicing is the process of creating and delivering variants of the app bundle for different target devices. A variant contains only the executable architecture and resources that are needed for the target device.

您可以在同一个链接中看到位码不是同一件事。

干杯,

尼古拉斯

关于ios - 使用旧设备的 iOS 用户可以查看并下载我的应用程序的早期版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33833916/

相关文章:

iphone - 无法从字符串转换日期

ios - Whatsapp 类型编辑按钮 IOS master detail app

ios - 是否有可能将您在消息应用程序中收到的相同消息发送到您的应用程序中?

iphone - 提交后更改应用程序的屏幕截图

ios - 初始样式 :(UITableViewCellStyle) not called

ios - Swift 字典,读取键值 - 推送通知

iphone - 如何创建高分辨率的离屏片段着色器?

macos - 无法安装生产供应配置文件

xcode - 框架包含不受支持的架构 Xcode 8

ios - 为什么在 ModelController.h 中使用@class DataViewController?