【问题标题】:How to prevent iphone app from running on non-retina device?如何防止 iphone 应用程序在非视网膜设备上运行?
【发布时间】:2026-01-20 07:10:01
【问题描述】:

我希望我的应用仅在 Retina 设备上运行。如何禁用对非 Retina iPhone 的支持?这可能吗?

【问题讨论】:

标签: iphone ios retina-display


【解决方案1】:

由于 iPhone 3G、3Gs、4、4S 的屏幕尺寸相同;您将无法找出其中哪一个是视网膜显示器(AFAIK)。但是,从 iPhone4 开始,该设备具有前置摄像头,因此,您可以使用它。您可以让您的应用需要前置摄像头(只是一个例子;还有其他硬件,iPhone4 新引入的)设备功能。

这些是在应用程序的 plist 文件中使用 UIRequiredDeviceCapabilities 键指定的。

前置摄像头,将其限制在具有该摄像头的设备上,消除 3G 和 3GS(它们是非视网膜显示器)。

更多详情UIRequiredDeviceCapabilities

【讨论】:

    【解决方案2】:

    它可能会起作用!一种骇人听闻的方式!

    你需要两张图片 temp.png 和 temp@2x.png

    在您的第一个视图控制器中,将 UIButton 从视图中隐藏,设置它的背景图像 --- temp.png,当您调用 viewDidLoad时,将为该按钮设置背景图像,之后,您可以与if([buttonObject currentBackgroundImage] == [UIImage imageNamed:@"temp@2x.png"]) 核对,然后它是retina 支持设备,您可以向用户显示一些消息,或者做任何您想做的事情!

    【讨论】:

    • 恐怕不会阻止应用在非视网膜显示屏的设备上运行。