【问题标题】:iPhone and SDK different version compatibility issuesiPhone和SDK不同版本兼容性问题
【发布时间】:2023-04-07 22:59:01
【问题描述】:

我是一名初级 Apple 开发人员,我有一些问题想要解决。

首先,我目前正在开发 Xcode 3.2.6,因为我还没有注册开发者计划。我想知道 Apple 是否只接受在 SDK 4 上编译的应用程序(用于 App Strore)。 其次,我希望我的应用程序可以在 iPhone 3 和 4 上运行。你会建议我做什么?我在几个开发者论坛中读到,为了实现这一点,我必须以 3.1 iOS 作为目标来构建我的应用程序。这个对吗? 最后,是不是因为 iPhone 3 和 iPhone 4 的分辨率不同有什么问题呢?你认为我应该使用哪种分辨率?

提前谢谢你, 樱桃

【问题讨论】:

  • 阅读answer 了解与多个 iOS 版本的兼容性

标签: iphone xcode sdk compatibility resolution


【解决方案1】:
  • 将 Base SDK 设置为最新 (4.3)。
  • 将目标 SDK 设置为 3.1。
  • 避免仅在 iOS 3.2 或更高版本中可用的功能(例如,不要使用块,不要在 iOS 3.2 或更高版本中引入框架,始终检查方法的可用性)。之后,当您对 Objective-C 有更多经验时,您可能会尝试结合更现代 iOS 的功能,但仍保持与旧 iOS 的兼容性。
  • 不用担心分辨率。它仅影响图像 - 如果您想充分利用 Retina 显示屏,则需要为两种分辨率(标准和高分辨率)创建图像。

附:我建议您避免支持 iOS 3.2 或更早版本。 iOS 4 引入了许多不错且有用的功能。而且我很确定,Apple 将在 iOS 5 发布后不久撤销对 iOS 3.x 的支持。

【讨论】:

  • 许多设备卡在 3.1.3 无法升级,但仍然购买应用程序。您选择支持与否。
  • 只有 iPhone(原装)和 iPod touch(第一代)无法升级到 iOS 4.*。所有其他设备至少可以升级到 iOS 4.2。
【解决方案2】:

如果你的目标是 iOS 3,你最终不会使用 iOS 4 的功能,这是大多数。

这是苹果的声明。

以最新的 iOS 版本为目标。

Targeting the latest release allows you to take advantage of all the features 
available in the latest version of iOS. However, this approach may offer a smaller 
set of users capable of installing your application on their devices because your     
application cannot run on iOS releases that are earlier than the target release.`

以较早的 iOS 版本为目标。

Targeting an earlier release lets you publish your application to a larger set of 
users (because your application runs on the target OS release and later releases), 
but may limit the iOS features your application can use.`

但我建议你将目标锁定在 iOS 4 上,因为人们现在都在锁定 iOS 5,再过 8 个月,我相信 Apple 会发布 iOS 6(他们的更新速度非常快),我个人认为从长远来看,以 iOS 3 为目标不会给您带来很好的结果。

【讨论】:

  • 目前只有 10-15% 的设备运行 3.x,但我仍然在我的应用程序中支持它,仅在设备上存在 4.x 功能时使用它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-02
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多