关于IOS的蓝牙(转)

关于IOS的蓝牙

首先,你要了解你的目的是什么,一般的IOS蓝牙开发有以下三种目的:

1. IOS设备和IOS设备之间交互

好消息是:ios6.0可以把iPhone手机当从设备了,可以两台iPhone通过蓝牙通信传数据了,有点类似spp协议

坏消息是:我们需要的不是这种模式

这种模式通常用于两个使用IOS设备的土豪之间互相切磋游戏,玩个飞车什么的,需要注意的是

2. IOS设备与MFI认证设备交互

什么是MFI认证呢?意思是(Make For ipod/ipad/iphone),只有少数的硬件厂商才有苹果的MFI认证,如果你看到这,你的蓝牙设备还没设计,而且想发布在AppStore上,而且打算使用蓝牙4.0以下(4.0就不需要MFI了,福音),那你还是找个MFI认证的硬件开始做吧,我们公司已经有产品了,不可能重新设计,方案Pass了。

好消息是:如果你的蓝牙模块还没设计,打算在AppStore上发布,打算使用蓝牙4.0以下(IOS设备都兼容),那你就抓紧找MFI认证的蓝牙模块吧

坏消息是:我们不可能重新设计,所以舍弃

3. IOS设备与非IOS设备交互

这就是我们的现状了,根据这个现状,我们能分析出两种情况:

a. 我想做蓝牙4.0以下的,这样iphone4也能用了

好消息:确实可以兼容iphone4,但是由于苹果封闭,没有那个API给你调,苹果上也根本检索不到非IOS设备,所以你就需要越狱了,调用私有Api连接设备

坏消息:只有越狱的手机才能用,发布到AppStore是妄想

b. 我想做蓝牙4.0的,不全兼容也没事,我想发布在AppStore上

好消息:苹果开放了4.0的BLE通道,你可以用BLE通道通信,而且4.0设备也能检索到

坏消息:对IOS版本和IOS设备双重要求,肯定不能全兼容了

所以,根据你自己的实际情况,选择方案,现总结出以下几种方案:

1. 情景:蓝牙2.0,发布在AppStore上

答:使用MFI认证的蓝牙模块设计你的蓝牙产品

特点:不越狱就能用,IOS设备全兼容

2. 情景:蓝牙2.0,不用MFI

答:不能用苹果的Api了,使用私有Api连接设备

特点:只能越狱的手机才能用了,IOS设备全兼容

3. 情景:蓝牙4.0

答:使用BLE通道

特点:IOS设备不完全兼容,无需越狱,无需使用MFI,可发布在AppStore上

注意:一定要看你的蓝牙版本,这样才能选择方案,我们现在设备的版本是2.0,但是Boss想要发布在AppStore上,所以打算升级成4.0的,只有这么办了

时间: 2024-09-05 20:06:12

关于IOS的蓝牙(转)的相关文章

iOS,蓝牙开发!!--By帮雷

iOS的蓝牙开发大致有以下几种方式. 1 GameKit.framework [只能存在于iOS设备之间,多用于游戏 能搜索到的demo比较多,不确切说名字了,code4app里面就有] 2 CoreBlueTooth.framework [必须要支持蓝牙4.0,且iPhone4以上,即至少4s手机.可与第三方设备交互数据, 官方demo是Temperature Sensor ] 3 ExternalAccessory.framework [可于第三方蓝牙设备交互,但是蓝牙设备必须经过MFI认证

iOS Bluetooth 蓝牙 学习

一个蓝牙 第三方库 (github上面)  https://github.com/coolnameismy/BabyBluetooth    (名字:BabyBluetooth) ----------蓝牙大神博客(http://liuyanwei.jumppo.com/index.html)--------------- 1.http://liuyanwei.jumppo.com/2015/07/17/ios-BLE-1.html  (蓝牙开发相关基础知识) 2.http://liuyanwei

ios设置蓝牙,跳转到设蓝牙页面

添加框架CoreBluetooth.framewprk 在要跳转蓝牙设置界面添加类#import "CoreBluetooth/CoreBluetooth.h" 并声明代理<CBCentralManagerDelegate> 设置全局的控件@property (nonatomic, strong)CBCentralManager *cb; 在要跳转的地方写 _cb = [[CBCentralManager alloc] initWithDelegate:self queue

iOS开发- 蓝牙后台接收数据(BLE4.0)

最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据. 本来以后会很麻烦, 但是学习了下..发现就2步而已.简单的不能再简单了. 好了.下面是具体实现办法. 1.在xxx-info.plist文件中, 新建一行  Required background modes , 加入下面两项. App shares data using CoreBluetooth 和  App communicates using CoreBlueto

【iOS官方文档翻译】iOS的蓝牙连接、数据接收及发送

说明:苹果官方开发文档中涉及一些名词:Central(中心设备).Peripheral(外围设备).advertising(广告).Services(服务).Characteristic(特征)等,我都用括号内的中文进行翻译,并且不做详细解释,可能存在误导,请谅解. 目录: 步骤1.建立一个Central Manager实例进行蓝牙管理 步骤2.搜索外围设备 步骤3.连接外围设备 步骤4.获得外围设备的服务 步骤5.获得服务的特征 步奏6.从外围设备读数据(直接读取和订阅两种方法) 步骤7.给外

ios开发蓝牙的基本使用

1. 声明一下下 #import <CoreBluetooth/CoreBluetooth.h> 2 初始化在viewdidload 中 self.centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:dispatch_get_main_queue()]; 3遵守协议 <CBCentralManagerDelegate,CBPeripheralDelegate> 4一些需要用到的属性 @prop

IOS BLE4.0蓝牙和外设连接和收发数据的流程

前言: 苹果在IOS 6系统之后开始支持BLE 4.0,iPhone4s,iPod 5,iPad 3等之后的机型开始内嵌BLE4.0硬件,因此在开发前请先确认你的开发环境符合上述要求,并且苹果在BLE4.0之后,对外部的连接设备已经不在需要MFI认证了,当然你的外设肯定得要有蓝牙4.0模块了 综述: 开发BLE4.0的App,你需要在你的项目里面导入框架: CoreBluetooth.framework 在需要使用到蓝牙的文件里面你需要导入头文件: #import <CoreBluetooth/

IOS 蓝牙(GameKit、Core Bluetooth)

GameKit的蓝牙开发注意 ● 只能用于iOS设备之间的连接 ● 只能用于同一个应用程序之间的连接 ● 最好别利用蓝牙发送比较大的数据 iOS中蓝牙的实现方案 ● iOS中提供了4个框架用于实现蓝牙连接 ● GameKit.framework(用法简单) ? 只能用于iOS设备之间的连接,多用于游戏(比如五子棋对战),从iOS7开始过期 ● MultipeerConnectivity.framework ? 只能用于iOS设备之间的连接,从iOS7开始引入,主要用于文件共享(仅限于沙盒的文 件

iOS开发 -GameKit蓝牙开发

蓝牙4.0 蓝牙4.0是2012年最新蓝牙版本,是3.0的升级版本:较3.0版本更省电.成本低.3毫秒低延迟.超长有效连接距离.AES-128加密等:通常用在蓝牙耳机.蓝牙音箱等设备上. 蓝牙技术联盟(Bluetooth SIG)2010年7月7日宣布,正式采纳蓝牙4.0核心规范(Bluetooth Core Specification Version 4.0 ),并启动对应的认证计划.会员厂商可以提交其产品进行测试,通过后将获得蓝牙4.0标准认证. 该技术拥有极低的运行和待机功耗,使用一粒纽扣