旧版iOS设备的蓝牙框架

3
我的问题与iOS周围的蓝牙技术有关。我看过有关蓝牙低功耗101、新功能、基础知识等方面的WWDC,以及有关iOS 5及更高版本中可用的CoreBluetooth框架的内容。我浏览了不同的站点和文档,试图找到更多关于蓝牙2.1和4的信息,但很少有相关资料。GameKit并不是答案,因为我正在开发一个与非iOS设备配合使用的应用程序。我查阅了一些主题,例如:从iOS连接到蓝牙设备,无需MFiiOS-如何在我的应用程序中集成蓝牙设备http://www.bluegiga.com/files/bluegiga/Presentations/BT4_0_for_Apple.pdf老蓝牙的蓝牙4.0iPhone蓝牙连接到非iOS设备,但是支持的设备只有4S及以上和最新的iPad... 1)最新的CoreBluetooth框架会在旧设备上失败吗?2)苹果有没有关于BT 2.1或其他内容的框架?该怎么办,还有很多iPad2和iPhone4用户,我不能忽视他们。因此,到底使用什么框架呢?任何帮助、建议、想法或链接都将不胜感激!
2个回答

8

嗯……你需要明白一件事情: CoreBluetooth框架 用于 蓝牙低功耗,而 ExternalAccessory框架 用于 “经典”蓝牙。这实际上是我们通常所说的蓝牙(作为一个简单的用户/消费者)的两种不同的方法。 只有最近的i设备支持 蓝牙低功耗(例如iPhone从4S,MacBook Air从2011年等)。这就是为什么它不支持 iOS4 的原因。 供您参考,蓝牙低功耗是蓝牙4.0中出现的一种分支。即使拥有蓝牙4.0设备也不能保证它支持蓝牙低功耗(正如我所说,这是一个并不总是包含的分支)。 作为一个简单的视觉效果,蓝牙低功耗的工作方式类似于其中一个NSDictionnary中带有一个NSDictionnary。您可以获取一个外围设备,它具有一个或多个服务,每个服务都有一个或多个特征。与普通设备相比,相当不同吧?


3
苹果有没有针对BT 2.1或其他版本的框架?问题是,仍然有很多iPad2和iPhone4用户,我不能忽视他们...那么到底应该使用哪个框架呢?
要与Bluetooth 2.1设备通信,您需要加入Made for iPhone附件计划。其详细信息受NDA保护,但您应该期望像苹果审核您的制造流程和审计您的帐户,并将自定义芯片放入附件之类的事情。如果您不是自己制造附件,那么您可能就没戏了。
唯一的例外是iOS本身支持的设备类别:键盘、音频输出、汽车立体声、其他iPhone等。但是,您仍然无法发送和接收任意数据,您只能使用特定功能的任何API(例如,对于音频输出,Core Audio可以让您设置一些属性来控制蓝牙设备的行为)。

谢谢!但是你确定如果我使用4.0框架,没有那个权限它就不能与2.1设备通信吗? - Dumoko
是的,我确定。没有越狱,没有其他方法与2.1设备通信。 - Amy Worrall
请允许我再确认一件事情:我的意思是非iOS设备,比如运动装备或其他什么。 - Dumoko
1
是的,这个观点是正确的——如果它是一个蓝牙2.1设备,你唯一能使用它的方式就是该设备是iPhone专用认证计划的一部分。Lame的回答描述了ExternalAccessory框架,这是你与iPhone专用认证配件通信的方式。 - Amy Worrall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接