支持旧版 iPhone 用户 [英] Support legacy iPhone users

查看:6
本文介绍了支持旧版 iPhone 用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

既然 iPhone SDK 4.0 可供下载,而且 iOS 4.0 也将很快向消费者提供,那么开始使用 4.0 操作系统中的新功能是否有意义?

Now that iPhone SDK 4.0 is available for download, and iOS 4.0 will be available for consumers shortly, does it make sense to start using the new features available in the 4.0 OS?

我主要担心的是,使用 4.0 功能要求最终用户也将他们的手机/ipod 更新到 4.0.虽然这个过程非常轻松,但大多数用户更新是否合理?该应用程序本身并不真正需要在新操作系统中引入任何东西,但一些传统的动画技术现在不鼓励",转而支持基于块的对应技术.这对我来说很好,我更喜欢使用块方法,但我担心这会给最终用户带来麻烦.

My primary concern is that using the 4.0 features mandates that end users also update their phones/ipods to 4.0. While this process is pretty painless, is it a reasonable expect most users to update? The application itself doesn't really need anything introduced in the new OS but some of the traditional animation techniques are now "discouraged" in favor of their block-based counterparts. This is fine for me, I'd prefer to use block methods, but I'm concerned that this is a hassle for end users.

那么这方面的一般经验是什么?您是坚持使用最新最好的版本还是坚持使用当前版本?

So what's the general experience on this? Do you plunge ahead with the latest and greatest or stick with the current version?

附言这假设 GM 在可用时在最终用户上安装操作系统 - 不是测试版.

p.s. This assumes GM installs of the OS on end users when it is available - not beta.

推荐答案

视情况而定.您至少有 3 个选项,最好的方法取决于您的应用程序的要求:

It depends. You have at least 3 options and the best way to go depends on your app's requirements:

  1. 您的应用需要任何 iOS 4.0 API - 您应该使用 BaseSDK 4.0 构建,但将 Target Deployment 设置为您必须拥有的最低版本(即:3.0).
    优势: (1) 您的应用可以在至少具有该 Target Deployment 版本的任何设备上运行,并且 (2) 它将支持在具有 iOS 4.0 的设备上快速切换应用.缺点:您无法使用 Target Deployment 版本之后的任何 API.

  1. Your app doesn't require any iOS 4.0 APIs - you should build with BaseSDK 4.0, but set Target Deployment to the minimum version you must have (ie: 3.0).
    Advantages: (1) Your app to run on any device that has at least that Target Deployment version and (2) it will support fast App switching on devices that have iOS 4.0. Disadvantages: You can't use any APIs from after your Target Deployment version.

您的应用使用 4.0 API 会更好,但如果没有它们,它仍然可以使用 - 如果您可以通过在 iOS 4.0 之前的设备上提供减少的功能或通过以下方式有条件地使用 4.0 API在 4.0 之前的设备上使用不同的 API 时提供类似的功能,然后您可以使用 BaseSDK 4.0 构建,将 Target Deployment 设置为您必须拥有的最低版本(即:3.0)并有条件地使用 iOS 4.0 API 调用.优势:您可以在至少具有最低 iOS 版本的所有设备上运行.缺点:所有这些条件调用都会变得复杂.

Your app would be better with 4.0 APIs but it would still be usable without them - if you can conditionally use 4.0 APIs either by providing reduced functionality when on pre iOS 4.0 devices or by providing similar functionality while using different APIs when on pre 4.0 devices, then you can build with BaseSDK 4.0, set Target Deployment to to the minimum version you must have (ie: 3.0) and conditionally use the iOS 4.0 API calls. Advantages: you can run on all devices that have at least your minimum iOS version. Disadvantages: all those conditional calls can get complicated.

您的应用需要一些 iOS 4.0 API 才能运行 - 在这里您别无选择.使用 BaseSDK 4.0 构建,设置 Target Deployment 4.0 并使用那些 4.0 API.
优点:代码更简单,iOS版无条件缺点:您的应用还不能在 iPad 上运行(他们在2010 年秋季"中获得 4.0),您的应用永远不会在 3G 之前的 iPhone(他们没有获得 4.0)和某些 iOS 上运行4.0 功能不适用于 iPhone 3G.

Your app requires some iOS 4.0 APIs in order to function - Here you have no choice. Build with BaseSDK 4.0, set Target Deployment 4.0 and use those 4.0 APIs.
Advantage: code is simpler, no conditionals for iOS version Disadvantages: Your app won't run on iPads yet (they get 4.0 in "Fall 2010"), your app will never run on iPhones earlier than 3G (they don't get 4.0) and some iOS 4.0 features won't work on iPhone 3G.

在所有情况下,您的 Base SDK 将是 4.0,您的目标部署将是您需要的最低要求,如果您需要更新的 API,您可以有条件地使用它(如果设备有).

In all cases, your Base SDK will be 4.0, your Target Deployment will the minimum that you require, and if you need a newer API you can conditionally use it if the device has it.

只需使用 BaseSDK 4.0 编译,即使您不使用任何 4.0 功能,您也可以在 4.0 设备上快速切换应用.所有应用程序至少都应该这样做,即使它们以 iOS 2.0 为目标.如果您不需要 4.0 功能,请不要使用它们,您可以针对更广泛的旧设备和未升级的设备.

Just by compiling with BaseSDK 4.0 you will get fast app switching on 4.0 devices even if you don't use any 4.0 features. All apps should at least do that even if they target iOS 2.0. Don't use the 4.0 features if you don't need them and you can target a broader range of older devices and devices that haven't upgraded.

这个最近关于SO的答案总结了如何为 BaseSDK 和 Target Deployment 进行此设置,以及如何有条件地使用 API 来定位多个固件版本.

This recent answer on SO summarizes how to do this setup for BaseSDK and Target Deployment and how to conditionally use APIs to target multiple firmware versions.

这篇关于支持旧版 iPhone 用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆