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

Posted

技术标签:

【中文标题】有没有办法从 iPad 或选定的 iPhone 版本不支持我的应用程序?【英文标题】:Is there a way to not support my app from iPad or selected iPhone versions? 【发布时间】:2019-11-17 08:07:03 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

【参考方案2】:

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

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

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

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

【讨论】:

Apple 不允许您将现有的通用应用程序更改为仅限 iPhone。它需要是具有新捆绑 ID 的新应用。 @rmaddy 如果我们一开始只提供 iPhone 支持,它是否允许我们在后期添加 iPad 支持。 (与所提问题相反!)

以上是关于有没有办法从 iPad 或选定的 iPhone 版本不支持我的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法检测扩展是不是在 iPad 和 iPhone 上运行

有没有办法避免提示用户允许在 Safari(iPhone/iPad)中的每次加载时共享位置?

5个步骤,将 storyboard 从 iphone 版转变为 ipad 版

如何从 iPhone X 和 iPad 版本中删除页脚下的空白?

为啥在ipad上下载 仅限iphone的软件 在桌面不显示软件的图标?有啥办法解决么?

深入浅出iPhone/iPad开发(第2版)