如果创建BLE应用程序,我的应用程序应支持哪个最低iOS版本?



我即将启动新的应用程序,我的客户希望支持iOS 5和iPhone 5,包括所有最新系列的设备。我正在使用 swift 和官方苹果文档说它支持 iOS 7。 我的应用程序将基于BLE和位置更新数据工作,基本上它是一个物联网应用程序。问题是我应该从 iOS 7 或 5 还是从 9 开始提供支持?我没有任何确切的线索,为什么我不应该选择iOS 7版本,我应该启动iOS 9。

您可以从在此处查看设备功能表开始:

https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

正如它在那里所说,第一个与低功耗蓝牙兼容的设备是iPhone 4s。

考虑到这一点,您可能会支持第一个支持iPhone 4s的iOS版本,从这里开始就是iOS 5。正如其他人提到的,核心蓝牙是稍后引入的。

现在您应该了解,支持从这样的旧操作系统版本开始的所有版本将引入大量工作。那么你有2个我们无法回答的问题:

  1. 你想做这项工作吗?
  2. 您的客户愿意为此付费吗?

至于您的客户的链接,我想您可以使用这个:

https://mixpanel.com/trends/#report/ios_10

我想说的是,Mixpanel是一家相当大的公司,可以非常精确地跟踪iOS分发数字。

滑稽的回答 -尽管如此,仍然是一个有效的回答 - 是找到另一个客户。

更理性的回答是带着信心历史知识与您的客户合理交谈。

  • 1 iOS 在 iOS 7 中经历了重大的 UI 更改,支持旧的东西会有什么好处?
  • 2 如果相关设备今天实际上运行的是iOS 5,则可能无法使用iOS 8或更高版本。
  • 3 正如你所说,除非是iOS 7及更高版本,否则Swift不会在设备上运行。
  • 4 下一版iOS的历史采用率 - 因为我相信历史始于2007年 - 在第一年远高于80%,后年远高于90%。

结合这些内容,您对此客户端有几个参数。(是的,这个问题和/或答案可能属于自由职业者网站。

  • 1 为什么需要 iOS 5?

向他们提供当前仍运行iOS 5的设备数量的当前数字。让他们为这个理由辩护,或者找到另一个客户。

  • 2 如果客户端是"关闭的",这意味着他们不想推销你的代码,那么他们为什么要使用运行iOS 5的设备?

同样,使用旧版本的唯一原因 - 了解运行iOS 5的设备足够旧,但可能足够新,至少可以运行iOS 7 - 是它们现金拮据。坦率地说,那是我逃离的客户。快。

  • 3 此请求有两个可能的原因。(a) 他们在测试你,看你如何回答。(b) 他们不像您那样了解 iOS 市场的当前状态。

让我们先来看后者。了解情况,了解情况,坚持事实。使用我上面列出的参数。如果他们不相信 - 您可能需要放弃他们作为客户。虽然"客户规则",但没有人想要一个你不能讲道理的客户。

至于前者 - 客户在测试你?

再次,向他们提供事实 -您可以支持 iOS5,但有限制 - 更高版本的 iOS 可能无法运行这些设备,iOS 中引入的更高功能(特别是自动布局、UICollectionViews等 UI 内容)意味着代码库中的极端复杂性......增加时间和金钱,它需要用Objective-C编写。

iOS 5?!现在iOS 9拥有92%的活动设备,因此您绝对应该选择它甚至iOS 10。

对于BLE你提到的iOS 7和iPhone 4S是最低的。

您可以从文档中看到,Core Blue是在iOS 5中引入的,因此您可以针对该版本并且仍然支持BLE但仅在Objective-C中

但是,iOS中将有许多其他增强功能,您将无法利用,这将使开发更加困难 安德烈 因此更昂贵。

iOS 5 非常古老,可能只占设备的一小部分。

相关内容

最新更新