我刚将一个iPad应用程序移植到iPhone上,由于图形和编程原因,它不能在低分辨率显示屏(3G和3GS)上运行。应用程序可以在低分辨率设备上启动,但图形会出现混乱。
如果说明明确指出仅适用于iPhone 4和iPod Touch 4g,那么是否可以提交这样的应用程序?
如果说明明确指出仅适用于iPhone 4和iPod Touch 4g,那么是否可以提交这样的应用程序?
虽然您不能按型号限制,但可以要求应用程序具有某些硬件设备功能。这些功能在应用程序的plist文件中使用“UIRequiredDeviceCapabilities”键指定。
例如,如果您说您的应用程序需要前置摄像头,那么它将限制为具有该功能的设备,从而消除了3G和3GS。
是的,这是可能的。您需要通过硬件进行限制。例如,iPhone 4是唯一具有前置摄像头的手机。因此,您需要启用它。
查看Info.plist和UIRequiredDeviceCapabilities
UIRequiredDeviceCapabilities
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>telephony</string>
<string>gps</string>
<string>location-services</string>
</array>
由于没有电话功能和可能没有GPS,它将防止在iPad和iPod Touch上运行,原因相同。
您还需要添加限制前置摄像头的限制,以防止较旧的iPhone硬件。
您需要确保在 Info.plist 文件中适当地指定了支持的设备 (UIRequiredDeviceCapabilities
)。这样做后,应用程序将不会因此被拒绝。
他们应该这样做。清晰地记录需求。还有其他硬件差异,应用程序也会利用它们,所以这不是仅限于视网膜显示的问题。
例如,一个以拍摄视频为中心的应用程序也会受到其可以使用的硬件的限制。
视网膜显示屏比普通 iPhone 多出 4 倍像素,但屏幕尺寸保持不变。因此,如果你天真地将 iPad 应用程序移植到 iPhone 上,它将无法使用,因为所有元素都比 iPad 上的要小得多。视网膜只能使它们更加清晰,但不能使它们变大。不要被 iPhone 模拟器所欺骗。在 Mac 屏幕上以 100% 的比例运行视网膜模式与真实设备相比根本不可同日而语。