iOS 蓝牙方案预研
2014-12-02 13:12
134 查看
iOS蓝牙方案预研
经过前段时间的工作,现将研究结论总结如下:
一般的IOS蓝牙开发有以下三种目的:
一.IOS设备和IOS设备之间交互
用到两个框架:GameKit(iOS6)和Multipeer connectivity(iOS7)
1、GameKit,其核心功能有3个:
交互游戏平台Game Center,
P2P设备通讯功能
In-Game Voice
2、Multipeer connectivity
ios7新特性,代替GameKit,功能更强大,是一个使附近设备通过Wi-Fi网络、P2P Wi-Fi以及蓝牙个人局域网进行通信的框架。互相链接的节点可以安全地传递信息、流或是其他文件资源,而不用通过网络服务。
二.IOS设备与MFI认证设备交互
什么是MFI认证呢?意思是(Make Foripod/ipad/iphone),只有少数的硬件厂商才有苹果的MFI认证,如果你看到这,你,而且想发布在AppStore上,而且打算使用蓝牙4.0的蓝牙设备还没设计以下(4.0就不需要MFI了,福音),那就需要找个MFI认证的硬件开始做。认证之后,加入ExternalAccessory.framework,通过EAAccessoryManager获取配件列表,通过EAAccessory与配件建立连接,就可以创建一个EASession回话,与配件进行通讯。
三. IOS设备与非IOS设备交互
第一种情况:我想做蓝牙4.0以下的,这样iphone4也能用了
好消息:确实可以兼容iphone4,但是由于苹果封闭,没有那个API给你调,苹果上也根本检索不到非IOS设备,所以你就需要越狱了,调用私有Api连接设备
坏消息:只有越狱的手机才能用,发布到AppStore是妄想
第二种情况:我想做蓝牙4.0的,不全兼容也没事,我想发布在AppStore上
好消息:苹果开放了4.0的BLE通道,你可以用BLE通道通信,而且4.0设备也能检索到
坏消息:对IOS版本(ios6之后)和IOS设备(iPhone4s之后,iPad第三代之后,iPadmini系列, iPod Touch 5之后)双重要求,肯定不能全兼容了
所以,根据自己的实际情况,现总结出以下几种方案:
1. 情景:蓝牙2.0,发布在AppStore上
答:使用MFI认证的蓝牙模块设计你的蓝牙产品
特点:不越狱就能用,IOS设备全兼容
2. 情景:蓝牙2.0,不用MFI
答:不能用苹果的Api了,使用私有Api连接设备
特点:只能越狱的手机才能用了,IOS设备全兼容
3. 情景:蓝牙4.0
答:使用BLE通道,用到Core Bluetooth框架
特点:IOS设备不完全兼容,无需越狱,无需使用MFI,可发布在AppStore上
经过前段时间的工作,现将研究结论总结如下:
一般的IOS蓝牙开发有以下三种目的:
一.IOS设备和IOS设备之间交互
用到两个框架:GameKit(iOS6)和Multipeer connectivity(iOS7)
1、GameKit,其核心功能有3个:
交互游戏平台Game Center,
P2P设备通讯功能
In-Game Voice
2、Multipeer connectivity
ios7新特性,代替GameKit,功能更强大,是一个使附近设备通过Wi-Fi网络、P2P Wi-Fi以及蓝牙个人局域网进行通信的框架。互相链接的节点可以安全地传递信息、流或是其他文件资源,而不用通过网络服务。
二.IOS设备与MFI认证设备交互
什么是MFI认证呢?意思是(Make Foripod/ipad/iphone),只有少数的硬件厂商才有苹果的MFI认证,如果你看到这,你,而且想发布在AppStore上,而且打算使用蓝牙4.0的蓝牙设备还没设计以下(4.0就不需要MFI了,福音),那就需要找个MFI认证的硬件开始做。认证之后,加入ExternalAccessory.framework,通过EAAccessoryManager获取配件列表,通过EAAccessory与配件建立连接,就可以创建一个EASession回话,与配件进行通讯。
三. IOS设备与非IOS设备交互
第一种情况:我想做蓝牙4.0以下的,这样iphone4也能用了
好消息:确实可以兼容iphone4,但是由于苹果封闭,没有那个API给你调,苹果上也根本检索不到非IOS设备,所以你就需要越狱了,调用私有Api连接设备
坏消息:只有越狱的手机才能用,发布到AppStore是妄想
第二种情况:我想做蓝牙4.0的,不全兼容也没事,我想发布在AppStore上
好消息:苹果开放了4.0的BLE通道,你可以用BLE通道通信,而且4.0设备也能检索到
坏消息:对IOS版本(ios6之后)和IOS设备(iPhone4s之后,iPad第三代之后,iPadmini系列, iPod Touch 5之后)双重要求,肯定不能全兼容了
所以,根据自己的实际情况,现总结出以下几种方案:
1. 情景:蓝牙2.0,发布在AppStore上
答:使用MFI认证的蓝牙模块设计你的蓝牙产品
特点:不越狱就能用,IOS设备全兼容
2. 情景:蓝牙2.0,不用MFI
答:不能用苹果的Api了,使用私有Api连接设备
特点:只能越狱的手机才能用了,IOS设备全兼容
3. 情景:蓝牙4.0
答:使用BLE通道,用到Core Bluetooth框架
特点:IOS设备不完全兼容,无需越狱,无需使用MFI,可发布在AppStore上
相关文章推荐
- iOS中蓝牙的实现方案
- iOS中蓝牙的实现方案
- iOS中蓝牙的实现方案
- ios与android语音通用方案 编译libopencore-amr xcode4.5/ios6版本
- ios序列化最终方案
- iOS开发中如何添加IBOutlet传统方案
- Unity3d 蓝牙IOS 点对点网络游戏
- iOS使用privateframework开启蓝牙教程
- 手机通过蓝牙连接台式机,进而采用“Internet 共享”的上网方案。
- iOS核心系统编程最佳实践:蓝牙
- ios序列化最终方案
- 一种蓝牙打印机的实现方案
- 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案
- iOS设备中WiFi、蓝牙和飞行模式的开启与关闭
- 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案
- ios开发之蓝牙编程
- ios序列化最终方案
- android启动蓝牙的过程 (高通方案)
- iOS app测试版发布方案TestFlight