美文网首页蓝牙iOS-swiftiOS Developer
iOS CoreBluetooth的swift实现 (2)

iOS CoreBluetooth的swift实现 (2)

作者: COOPERC | 来源:发表于2016-09-25 10:08 被阅读724次

    iOS CoreBluetooth的swift实现(1)

    iOS CoreBluetooth的swift实现 (3)

    不妨想一下,我们在与人交流的时候需要做些什么,当然,我们先实现设备作为central时的数据接收和处理。

    1.辨明对方的身份,如果他是你想听他说话的人,那就听他说吧(废话)

    2.接收别人说的话,大脑对这些信息进行处理。

    3.注意保持听取,不要就听一会儿,态度端正一点。

    在程序中我们做的方式可以类比过去(用CBCentralManager实现)

    1.搜索相应Peripheral并连接

    2.连接后进行数据接收,对里面的characteristic进行读写。

    3.保持数据的更新回调

    贴一下代码来解释一下

    central

    当然现在还没有太多内容,取决于你的需求

    COCenManager.scanForPeripheralsWithServices([CBUUID]?, options: [String:AnyObject]?)

    这个方法里要传入设备serviceUUID数组,设备就会搜索具有这些UUIDservice的设备,这个就需要知道UUID的一些东西了,他其实是作为一个标签一样的存在,可以自己查一下相关的知识,这里不再详细讲解。UUIDnil,那就会搜索所有设备。

    经过这几步(参数确定,不要像我这样。)我们就建立了设备与peripheral的连接,注意,如果连接失败需要在didFailToConnectPeripheral里做出响应。

    discoverService

    discoverService传入一个CBUUID数组,如果填入nil则是默认搜索了所有的service当然不推荐这么做,这样会耗费没必要的电量和时间。当调用这个函数成功之后,设备会回调

    func peripheral(peripheral:CBPeripheral, didDiscoverServices error:NSError?)

    在这个函数里面我们可以对所需要的service进行提取处理。首先我们最想做的就是提取出他所提供的的内容--characteristic。

    discoverCharacteristics([CBUUID]?, forService:CBService)

    就是这个了!用peripheral获得相应serviceCharacteristicsUUID数组,就可以读取啦。

    相关文章

      网友评论

        本文标题:iOS CoreBluetooth的swift实现 (2)

        本文链接:https://www.haomeiwen.com/subject/mewxyttx.html