希望我的应用程序只能在 iPhone 4 及更高版本上运行,而不能在其他设备上运行

Posted

技术标签:

【中文标题】希望我的应用程序只能在 iPhone 4 及更高版本上运行,而不能在其他设备上运行【英文标题】:Want my app to only work on iPhone 4 and above and no other devices 【发布时间】:2015-09-06 13:26:48 【问题描述】:

见鬼去吧 我开发了一个只能在 iPhone 4 及更高版本上运行的应用程序。原因是在加载期间,该应用会检查您拥有的 iPhone 类型并根据屏幕尺寸设置某些图像。

Apple 是否可以接受让我决定运行哪个 iPhone 用户并据此设置图像?

我在哪里说我希望这个应用程序在 iPhone 4 及更高版本上运行,直到 iPhone 6+,而不是在任何其他设备上,如 ipad 等?

谢谢 博尔纳

【问题讨论】:

您的应用程序必须在 iPad 上运行。即使您将部署设备设置为 iPhone,您的应用程序也需要在 iPhone 4 纵横比的 iPad 上以兼容模式运行。确保您在 iPad 上进行测试并正常工作。 【参考方案1】:

在 General>Deployment Info 下将您的设备设置为 iPhone 而不是 Universal,并确保您的 Deployment Target 设置为 ios 7.0。

【讨论】:

如果部署目标设置为 iOS 7 或更早版本,这将不起作用 @Daniel Storm 又犯了错误。如果您将设置早于 7 它将是 iPhone 3gs+ :)【参考方案2】:

正如@Sam B 下面所说,无法指定某些设备。

但是通过以下技巧,您可以获得所需的结果:

在 xCode proj 文件的常规选项卡中将您的设备设置为 iPhone。此外,如果您希望 4+ 设备将 Deployment Target 设置为 iOS 7,如果您将保留 iOS 8+,则它将仅是 4S+ 设备。

【讨论】:

【参考方案3】:

我不明白发布的答案如何被认为是正确的?

OP 问题的答案是否定的。您无法限制对某些 iPhone 设备(4、4S、5、5S、6、6P)的访问。如果您仅在 Xcode 中将您的项目指定为“iPhone”,那么从技术上讲,无论型号如何,它都可以在所有 iPhone 上运行。

现在已经说过,理论上你可以通过将 iOS 设置为 8.0 或更高版本使其仅在 iPhone 4s 或更高版本上运行,因为无法在 iPhone 4 或更低版本上加载 iOS 8。

至于苹果审核者,他们将在最新的应用设备 iPhone 6 或 6p 上测试您的应用。他们没有时间在所有可能的 Apple iphone 设备上对您的应用程序进行回归测试。

这有意义吗?

【讨论】:

你是对的,没有办法指定设备,但是通过这个技巧你可以得到预期的结果。

以上是关于希望我的应用程序只能在 iPhone 4 及更高版本上运行,而不能在其他设备上运行的主要内容,如果未能解决你的问题,请参考以下文章

ios7及更高版本导致图像图标错误

为啥 iPhone 6 及更高版本的 wkwebview 不接受底部的点击?

从 iphone SDK 3.3 及更高版本中的 plist 文件创建数组:目标 c

iOS 在 iPhone 6 及更高版本上设置导航项标题视图框架故障

允许 AirPlay 支持和 iOS 4.2、iOS 4.3

不使用 APNS 的 iOS 4.0 及更高版本的推送服务器