iOS 蓝牙开发(三)app作为外设被连接的实现
2016-01-06 18:05
447 查看
iOS 蓝牙开发(三)app作为外设被连接的实现
再上一节说了app作为central连接peripheral的情况,这一节介绍如何使用app发布一个peripheral,给其他的central连接
还是这张图,central模式用的都是左边的类,而peripheral模式用的是右边的类
peripheral模式的流程
1. 打开peripheralManager,设置peripheralManager的委托
2. 创建characteristics,characteristics的description 创建service,把characteristics添加到service中,再把service添加到peripheralManager中
3. 开启广播advertising
4. 对central的操作进行响应
- 4.1 读characteristics请求
- 4.2 写characteristics请求
- 4.4 订阅和取消订阅characteristics
准备环境
1 Xcode
2 开发证书和手机(蓝牙程序需要使用使用真机调试,使用模拟器也可以调试,但是方法很蛋疼,我会放在最后说),如果不行可以使用osx程序调试
3 蓝牙外设
实现步骤
1. 打开peripheralManager,设置peripheralManager的委托
设置当前ViewController实现CBPeripheralManagerDelegate委托
在委托方法 - (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral中,当peripheral成功打开后,才可以配置service和characteristics。 这里创建的service和chara对象是CBMutableCharacteristic和CBMutableService。他们的区别就像NSArray和NSMutableArray区别类似。 我们先创建characteristics和description,description是characteristics的描述,描述分很多种,
这里不细说了,常用的就是CBUUIDCharacteristicUserDescriptionString。
- 4.1 读characteristics请求
- 4.2 写characteristics请求
- 4.3 订阅和取消订阅characteristics
我博客中大部分示例代码都上传到了github,地址是:https://github.com/coolnameismy/demo,点击跳转代码下载地址
本文代码存放目录是BleDemo
如果大家支持,请follow我的github账号,并star我的项目,有其他问题可以在blog中给我留言 blog的RSS订阅
iOS 蓝牙开发(一)蓝牙相关基础知识
iOS 蓝牙开发(二)iOS 连接外设的代码实现
iOS 蓝牙开发(四)BabyBluetooth蓝牙库介绍
相关文章推荐
- 如何直接在unity3d中运行.net4.5等高级版本的机器码
- 集成 JPush之证书指南
- iOS中tableViewcell的重用原理
- Android Dialog用法
- android 中 系统日期时间的获取
- iOS - 判断用户是否已经登陆
- Android中应用程序获得系统签名权限
- ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象
- weakSelf 和 strongSelf
- Swift开发IOS-UITableView
- 如何提升Android开发效率
- android 第一个项目完成! 阶段总结
- QT 读 QObject类
- [Android Studio] Android studio 多渠道打包(超简洁版)
- android从相册中选择报无法加载照片
- 23.cocos2d-x骨骼动画
- EAIntroView–高度可定制的iOS应用欢迎页通用解决方案
- android SwitchButton 纯代码实现,仿5.0原生
- android studio基本操作
- The method setBackground(Drawable) in the type View is not applicable for the arguments (int)