IOS蓝牙设备数据回调的坑

1.手机端向蓝牙设备发送写入数据后会有一个回调方法

//写入数据后的回调

- (void)peripheral:(CBPeripheral *)peripheral

didWriteValueForCharacteristic:(CBCharacteristic *)

characteristic error:(nullable NSError *)error

因为我们这边的设备是血压仪,是向外设发送开始测量之后,然后把测量的数据返回来,所以要进到上面的方法里。

2.数据返回后会进入下面的方法

//获取的charateristic的值

-(void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{

self.UUID2data = [NSData data];

self.UUID2data = characteristic.value;

NSString *datastring = [self convertDataToHexStr:self.UUID2data];

NSLog(@"datastring = %@",datastring);

NSString *str = @"550f03";

if ([datastring containsString:str]) {

NSString *UUID2str = [datastring substringWithRange:NSMakeRange(6, 16)];

self.UUID2TF.text = UUID2str;

}

因为我们的数据包前面三位是固定的而且没什么用,所以要截取掉,这样有用的数据就出来了,还需要提一下characteristic.value是16进制的需要进行转换在展示

时间: 2024-08-26 14:36:19

IOS蓝牙设备数据回调的坑的相关文章

iOS支付宝SDK回调那坑

支付宝钱包支付接口开发包2.0标准版(iOS 2.2.1) ,回调不出来,demo给出的方法是: - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if ([url.host isEqualToString:@"safepay"]) { [[Ali

14.ios之数据存取

iOS应用数据存储的常用方式 lXML属性列表(plist)归档 lPreference(偏好设置) lNSKeyedArchiver归档(NSCoding) lSQLite3 lCoreData 应用沙盒 l每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 l应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer) 模拟器应用沙盒的根路径在:(apple是用户名,6.0是模拟器版本) /Users/app

iOS本地数据存取,这里就够了

iOS本地数据存取,看这里就够了 应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer) 应用沙盒的文件系统目录 应用沙盒结构分析 应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件 Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录.例如,游戏应用可将游戏存档保存在该目录 tmp:保存应

ios编程之回调机制

ios编程之回调机制详解:   ———————————————— 函数/方法/block块一系列概念: 函数在大部分高级语言中都是个重要的概念,函数实现就是对一段代码的封装,我们一般会为了完成某一个业务功能或编程逻辑而需要组织数行代码,而这数行代码还有可能被使用多次,所以将它们封装成一个函数,每一次的执行我们称之为调函数或函数调用. 在C程序中,我们知道程序是从main函数开始执行,执行完main函数就退出程序,其实我们程序员很少去跟踪整个程序的执行流,一个程序(一段二进制代码)如何从加载到运行

iOS开发-OpenGLES 入门踩坑

Flat coloring(单色) 是通知OpenGL使用单一的颜色来渲染,OpenGL将一直使用指定的颜色来渲染直到你指定其它的颜色. 指定颜色的方法为 public abstract void glColor4f(float red, float green, float blue, float alpha). 缺省的red,green,blue为1,代表白色. Smooth coloring (平滑颜色过渡) 当给每个顶点定义一个颜色时,OpenGL自动为不同顶点颜色之间生成中间过渡颜色(

iOS 简单易懂的 Block 回调使用和解析

老实说在早前我已经学会了如何使用 Block 来做一些方法回调,传递参数的功能,并且用 Block 简单封装了第三方的网络库(AFNetworking).虽说对 Block 的应用说不上得心应手,但是却是极其地喜欢使用这种设计模式,并且在项目中也大量地使用了. 但是,最近一位即将参加面试的学弟问我,什么是 Block 呢?我蒙圈了,但是毕竟是学长,我假装淡定地反问道:你所理解的 Block 是什么呢?学弟说:是一段封装的代码块,并可以放在任意位置使用,还可以传递数据.我心里暗喜,这孩子还是图样了

iOS开发 数据缓存-数据库

iOS中数据存储方式 Plist(NSArray\NSDictionary) Preference(偏好设置\NSUserDefaults) NSCoding (NSKeyedArchiver\NSkeyedUnarchiver) SQlite3 Core Date Plist.Preference.NSCoding的存储方式 详见 iOS开发 文件存储方式 数据库的存储方式 Core Date:Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将O

IOS应用数据存储

IOS应用数据存储 常用方式 - XML属性列表(plist)归档 - Preference(偏好设置) - NSKeyedArchiver归档(NSCoding) - SQLite3 - Core Data 应用程序沙盒 每个应用程序都有自己的应用沙盒(应用沙盒就是文件系统目录)与其它文件系统隔离.应用必须呆在 自己的沙盒里,其它应用不能访问该沙盒 应用沙盒目录<假设应用名字Layer>  应用沙盒结构分析 应用沙盒的常见获取方式 沙盒根目录:NSString *home = NSHomeD

window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)(或将数据传回A窗口) 以下是从实际项目中截取出来和window.open()方法相关的代码,业务逻辑如下: 1. 点击父窗口的div标签(id="addMatchSchedule"),出发点击事件,打开子窗口: 2. 点击子窗口的button按钮,触发点击时间,即调用addSchduleI