iOS App兼容所有设备版本

时间:2012-09-12 23:54:46

标签: ios iphone ipad

我一直在为iPhone和iPad开发应用程序已有一段时间了,我正在为每个版本的设备开发每个应用程序,因为我担心它不会在没有视网膜显示器的低版本上运行。

有没有办法开发适用于所有版本设备的应用程序?因为现在新的iPhone和iPad将推出iOS6。

4 个答案:

答案 0 :(得分:1)

是的,旧版本的应用程序可以与新的iOS6配合使用。为旧版本打包的应用程序将使用信箱。我想首先为3GS创建一个应用程序并测试它的兼容性。您可能会遗漏新设备上的一些基本功能。我的建议是创建一个通用应用程序。

答案 1 :(得分:0)

较旧的应用程序可以在新的iOS6上正常运行。由于新的iphone5具有高纵横比,旧的应用程序将是letterboxed,即以黑色边框运行。有关详细信息,请访问http://techcrunch.com/2012/09/12/first-party-apple-apps-optimized-for-iphone-5-display-existing-apps-will-run-letterboxed/

答案 2 :(得分:0)

通用应用程序是二进制文件将在iPad和iPhone上运行的应用程序。客户为一台设备购买它,并自动在两台设备上运行它。可能有一个商业原因有两个不同版本的应用程序(一个用于iPhone,另一个用于iPad)。从客户的角度来看,只购买一次就更好了。一些游戏开发者证明了这一点,因为必须为更大尺寸的iPad重做图形,这可能需要花费很多时间。

有关视网膜显示的问题与您在应用中包含的资产有关。通常,对于基于UIKit的应用程序,通过在文件名后附加“@ 2x.png”表示该资产将用于支持Retina的设备。否则,设备将自动加倍正常尺寸图像的大小。此页面上有更多信息:http://developer.apple.com/library/ios/#qa/qa1686/_index.html

当您提及“设备的所有版本”时,另一个问题与iOS版本有关。如果您不使用较新的框架,通常可以让应用程序轻松向后兼容。您可以编写一个应用程序来检查它正在运行的iOS版本,然后动态链接到这些库并在运行时执行,然后不支持旧版本上不可用的某些功能。

答案 3 :(得分:0)

您可以选择选择最低公分母,或者......

瞄准最新最好的设备,并准备编写代码来有选择地禁用功能,支持多种分辨率和指令集,并接受大量的测试。

最低的共同点是,一个在iPhone 1上定位的现代xcode上编译的应用程序。它将在所有后续平台上运行,但会出现以下问题':

  • iPhone5,iPad上界面周围的黑框或条形图。
  • 所有iPad和iPhone 4 +上的像素图形显示
  • 没有相机支持
  • 没有GPS支持
  • 没有罗盘支持
  • 没有多任务或推送通知
  • 没有内置的快速电子邮件/消息支持
  • 没有社交网络支持
  • 没有游戏中心支持
  • 等 - 请参阅任何苹果功能列表。

如果您想支持上述任何一项,您可以随时测试该设备是否支持特定的API,功能或解决方案 - Apple的开发人员文档对此非常有帮助。


注意:您不必选择iPhone 1作为最低标准 - 3GS也是一个不错的选择,因为直到最近才可以出售。