1

抱歉发了这么长的帖子......

我试图了解我在应用程序上的行为是否“正常”。我有一个针对 2.0 sdk 版本开发的应用程序(即确保最大 #of 设备可以运行它,因为我不使用任何“特殊”3.0 功能,我倾向于认为最低分母必须是最佳选择)。

所以在 Xcode(最新版本的 xcode)中,我确保一切都设置为 2.0 api,包括框架引用。我构建并且事情在 2.1 设备上运行良好(硬件是 1gen iPhone)。现在我在旧硬件(iPod touch)但最新软件 3.0 的设备上测试它

事情运行良好,但我在某些地方遇到了不同的行为,例如:1)工具栏动画不起作用 2)旋转行为不同(向右旋转设备显示我的屏幕镜像.. :-) 这很“酷”但是不想要

现在,我确信我可以“破解”并解决这些问题,但有些东西对我来说没有意义,而且通常我知道我不能完全理解某些东西,

问题是:是否任何运行针对 2.0 编译的东西的设备都必须表现完全相同,而不管其当前的软件版本/硬件版本如何?这不就是向后兼容的全部内容吗?我希望运行 2.0 软件的 3.0 设备将体验与运行 2.0 软件的 2.0 设备完全相同的流程。我错过了什么?我这边缺乏理解在哪里?

谢谢,-tzurs

4

3 回答 3

0

大多数情况下,它的行为确实相同,但在某些情况下(尤其是围绕旋转),它只是有点不同。他们也很可能在工具栏或导航栏中重新排序了视图,因此如果您直接操作这些类型的子视图,它们将会发生变化。

也可能是您依赖于 2.0 中存在的错误,如果您以“正确”的方式做某事,您将不会遇到从 2.0 到 3.0 的任何问题。

特别是围绕旋转,如果您使用 shouldAutoRotate... 作为触发器来执行某些操作,请改用旋转通知。

于 2009-06-30T20:43:00.510 回答
0

是不是任何运行针对 2.0 编译的东西的设备,无论其当前的软件版本/硬件版本如何,都必须表现得完全相同?这不就是向后兼容的全部内容吗?

有点半开玩笑,但在微软的世界里,这是有道理的。但是,Apple 世界传统上并不十分重视向后兼容性。特别是当涉及到由于先前版本中的错误或由于以最初不打算使用的方式使用事物时的行为。

于 2009-06-30T20:46:05.620 回答
0

最容易看到变化的地方是差异或差异。这将作为每个版本的文档集的一部分发布,并显示更改的内容以及如何响应支持不同的版本。另请查看 Apple 关于支持多个版本的示例代码。

于 2010-03-11T02:22:54.597 回答