有没有办法不支持 iPad 或选定的 iPhone 版本的应用程序?

Is there a way to not support my app from iPad or selected iPhone versions?

我很久以前就将我的应用程序作为 Universal 提交了,现在我需要将其从 iPad 部分和少数 iPhone 版本(例如 4、5、5S)中删除。有没有一种方法可以实现这一点,或者当用户在此类设备上安装时,我是否需要向用户显示自定义不受支持的屏幕。苹果会因为这个原因拒绝我的应用吗?

要在应用程序已在 App Store 上发布后将您的应用程序限制为仅 iPhones 设备,您应该将应用程序的新版本重新上传到 App Store,只需将目标设备更改为 iPhone只有(当然有不同的捆绑标识符)。

关于限制您的应用停止支持旧设备(4、5、5S),您应该更改 iOS 版本兼容性。例如 iOS 13 在 iPhone 6s 和更新的设备上受支持,因此用户将无法在旧设备上使用它。 Apple 应该自行处理。

有一些替代方法可以使用 必需的设备功能 密钥将您的应用程序限制在特定设备上,您可以在 Info.plist 文件中找到该密钥。但我不认为苹果会接受这个,如果这个功能实际上没有在你的应用程序中使用。

这是关于 UIRequiredDeviceCapabilities 的文档,以备不时之需。

您只能通过在 Xcode 常规选项卡中更改您的应用程序部署信息来限制用户从 App Store 下载您的应用程序的更新版本。

通过将设备类型从通用更改为仅 iPhone 并将部署目标更改为 iOS 6s 以上设备支持的 13。然后用户将无法下载旧版本。

或者您可以通过进行特定于设备的检查并针对不受支持的版本显示您的自定义 ui 来限制用户在您的应用中的访问。但是对于这个苹果可能会拒绝您的应用程序,如果它在特定设备的每种情况下都失败。

但这两种类型的更改都必须在 App Store 上载更新版本的应用程序。