- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
既然 iPhone SDK 4.0 已经可供下载,而且 iOS 4.0 也将很快向消费者推出,那么开始使用 4.0 操作系统中的新功能是否有意义?
我主要担心的是,使用 4.0 功能要求最终用户也将其手机/iPod 更新到 4.0。虽然这个过程相当轻松,但大多数用户更新是否合理?应用程序本身并不真正需要在新操作系统中引入任何内容,但一些传统的动画技术现在“不鼓励”,转而采用基于 block 的对应技术。这对我来说很好,我更喜欢使用 block 方法,但我担心这会给最终用户带来麻烦。
那么这方面的一般经验是什么?您会继续使用最新最好的版本还是坚持使用当前版本?
附:这假设GM在操作系统可用时为最终用户安装该操作系统 - 而不是测试版。
最佳答案
这要看情况。您至少有 3 个选择,最佳方法取决于您应用的要求:
您的应用不需要任何 iOS 4.0 API - 您应该使用 BaseSDK 4.0 进行构建,但将目标部署设置为您必须拥有的最低版本(即:3.0)。
优点:(1) 您的应用程序可以在任何至少具有该目标部署版本的设备上运行,并且 (2) 它将支持在具有 iOS 4.0 的设备上进行快速应用程序切换。缺点:您无法使用 Target Deployment 版本之后的任何 API。
如果您的应用使用 4.0 API 会更好,但没有它们仍然可以使用 - 如果您可以通过在 iOS 4.0 之前的设备上提供减少的功能或通过以下方式有条件地使用 4.0 API:在 4.0 之前的设备上使用不同的 API 时提供类似的功能,那么您可以使用 BaseSDK 4.0 进行构建,将目标部署设置为您必须拥有的最低版本(即:3.0)并有条件地使用 iOS 4.0 API 调用。优点:您可以在所有至少具有最低 iOS 版本的设备上运行。 缺点:所有这些条件调用都会变得复杂。
您的应用需要一些 iOS 4.0 API 才能运行 - 在这里您别无选择。使用 BaseSDK 4.0 进行构建,设置目标部署 4.0 并使用这些 4.0 API。
优点:代码更简单,iOS版本无条件缺点:您的应用程序还无法在 iPad 上运行(它们在“2010 年秋季”获得 4.0),您的应用程序永远无法在 3G 之前的 iPhone(它们没有获得 4.0)和某些 iOS 上运行4.0 功能无法在 iPhone 3G 上使用。
在所有情况下,您的基础 SDK 都将是 4.0,您的目标部署将是您要求的最低版本,如果您需要更新的 API,则可以有条件地使用它(如果设备有)。
只需使用 BaseSDK 4.0 进行编译,即使您不使用任何 4.0 功能,您也可以在 4.0 设备上快速切换应用程序。所有应用程序至少都应该这样做,即使它们的目标是 iOS 2.0。如果不需要,请不要使用 4.0 功能,并且您可以针对更广泛的旧设备和尚未升级的设备。
这个recent answer on SO总结了如何为 BaseSDK 和目标部署进行此设置以及如何有条件地使用 API 来定位多个固件版本。
关于iphone - 支持旧版 iPhone 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3088624/
我需要将我的数据库容器与我的服务器容器连接起来。现在我只是对遗留参数--link感到不满,它工作得很好 $> docker run -d -P --name rethinkdb1 rethinkdb
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我的脚本中有以下代码: while (my ($key, $value) = each @values) { if ( $key < $arraySize-1) { if (
自周末以来,旧版 FCM 不再工作。 我的设备通过旧版 FCM 通过 fcm.googleapis.com/fcm/send 发送推送通知。我没有更改任何内容,但自周末以来我收到错误代码“HTTP/1
自周末以来,旧版 FCM 不再工作。 我的设备通过旧版 FCM 通过 fcm.googleapis.com/fcm/send 发送推送通知。我没有更改任何内容,但自周末以来我收到错误代码“HTTP/1
使用 LWJGL 和 PNGDecoder,我发现文档在纹理方面没有多大帮助。我了解有关它们的基本概念,但我不知道要调用什么函数(除了创建纹理ByteBuffer、上传数据的调用,但不实际使用它),而
大量使用主 iframe 的网站 我继承了一个遗留代码库/网站,http://ninjawars.net 。在我开始在网站上编码之前,iframe 就已就位。 我经常听说 iframe 的问题(安全性
我正在尝试在遗留 OpenGL 中为长方体制作纹理。无论我先渲染长方体的哪一侧,这一侧的纹理都不正确,而所有其他侧的纹理都正确。我尝试先渲染立方体的不同面。 这是绘制立方体的代码,包括它的纹理坐标:
我使用旧版 openGL。我在一个场景中绘制多个对象。我希望正在绘制的球体具有纹理,但所有其他对象都是纯色。但是,如果我在绘制球体后尝试禁用纹理,其他一切都是黑色的。 这是我创建纹理的代码 g
我在使用一些旧的 FBJS 时遇到了问题。验证我正在使用的字段的值 document.getElementById('email2').getValue() 这现在给了我错误 Error: a1979
我正在开发一个老式项目,其中我必须向 JSP 页面添加动态表单提交。该链接将动态生成,因此我需要跟踪单击了哪些链接。例如, Report Name
我已经将我的 FireFox 升级到 9.0.1,所以我无法检查我要问的是什么。我想在我的网站中使用 text-shadow css,但我不知道它是否适用于 3.5 等较旧的 FireFox 版本。
为什么第一批 Linux 开发人员选择实现非抢占式内核?是为了保存同步吗? 据我所知,Linux 是在 90 年代初开发的,当时 PC 还只有一个处理器。非抢占式内核在此类 PC 中具有哪些优势?但是
我真的很难在旧的 IE 版本 (6-8) 上显示背景图像。 这是我的代码: #top { background-image: url(http://some-domain.com/myimage.jp
阅读Java Code Conventions document from 1997 ,我在 P16 上关于变量命名约定的示例中看到了这一点: int i; char *cp; float myWid
我必须维护一个包含大量 Perl 代码的史前网站。移动到新服务器后,事情变得模糊: 当来自同一个客户端的多个请求在一个页面上运行(使用 GD 生成图像)时,这些脚本会覆盖彼此的变量,从而导致奇怪的结果
Visual Studio 2012 中的对象浏览器为可移植类库提供了两种不同的组件集: .NET 可移植子集 .NET 可移植子集(旧版) 当我创建可移植类库时,它使用 .NET 可移植子集。什么是
我“继承”了一个旧的 Spring 应用程序。目前它使用的是 Spring 2.5(刚刚升级了一次),并且希望进一步升级到 Spring 3。 我了解大部分应用程序配置。只有一个部分我“不是100%”
我正在开发一个 iPhone 应用程序,迄今为止,它使用的是统一定价模型。在下一个版本中,计划是降低基本功能集和价格,然后让用户可以选择为功能包进行应用内购买。 添加应用内购买似乎非常简单。我担心的是
我有点卡住了,因为我需要更好地了解 sugarCRM 中这种类型的自定义验证的语法。 我有这种验证: SUGAR.util.doWhen("typeof(check_form) != 'undefin
我是一名优秀的程序员,十分优秀!