我知道为 iPhone5 之前的 iPhone 开发的应用程序正在信箱中运行。但是反过来呢。更新至 iPhone5 标准的应用程序。它如何在 iPhone4 上运行?
如果没有,当所有开发人员都更新了他们的应用程序时,旧 iPhone 将没有应用程序或更新?
这更适合 MonoTouch,但同样的技术也适用于 Obj-C:
http://redth.info/get-your-monotouch-apps-ready-for-iphone-5-ios-6-today/
基本上 Default-568h@2x.png 文件会告诉 iOS 它是一个“高大”的应用程序。对于其他图像资产,您需要通过检查 UIScreen 的 MainScreen 的 Bounds 以及它是否是 iPhone 惯用语然后查看高度是否为 1136(检查比例值)来检测它是否是高设备,然后选择一个在这种情况下,不同大小的图像。
这是 C# 代码,但它再次非常接近 Obj-C:
public static bool IsTall
{
get
{
return UIDevice.CurrentDevice.UserInterfaceIdiom
== UIUserInterfaceIdiom.Phone
&& UIScreen.MainScreen.Bounds.Height
* UIScreen.MainScreen.Scale >= 1136;
}
}
只需将名为 Default-568h@2x.png (640x1136) 的图像添加到您的项目中,它就会像魔术一样工作!难以置信它是多么容易。
他们将需要使用 AutoLayout 或类似的东西相应地调整他们的布局。
他们当然会工作。如果您不将它们编码为自动缩小或使用较小的图像,那么它只会在顶部或底部被切断。