2.OC蓝牙功能

一.  最早的蓝牙框架是GameKit,iOS7之前用的比较多,它有只能支持iOS设备间的传输,但是使用步骤简单,我们只需要搞清楚两个类就可以了。

GKPeerPickerController:熟称浏览器,调用此控制器的show方法来显示当前的蓝牙热点,一旦发现有另一页在查找蓝牙的用户,之间就能实链接。

GKSession:连接会话,主要用于发送和接受传输数据。档两个程序进行连接时,GKPeerPickerController的代理方法会将两者建立的会话(GKSession)对象传递给制定的对象。就能实现数据传输。

    下面构建一个简单简单的蓝牙发送

    1.1首先构建一个能显示区域的蓝牙控制器。

1
2
3
4
5
6
- (void) connectToOtherBluetoolth {
    //1.首先构建一个区域内能显示其它蓝牙的控制器,我们手机上选择蓝牙列表其实对应的操作就是这个控制器,它可以对我的操作进行监听。
    GKPeerPickerController* peerVC = [GKPeerPickerController new];
    peerVC.delegate = self;
    [peerVC show];
}

    1.2 通过这个现实控制器的代理方法来监听链接是否成功,如果成功就讲链接的管道保存下来,并为它设计一个句bin

   1.3 实现这个句bin的方法,可以简单的把它理解为类似于一个协议方法

    1.4 接着我们只需要在链接成功后发送图片及可  创建图片控制器->设定代理,是否支持选择方式,制定图片的选择方式-》实现选择完成的方法,从字典内获取选择的图片

  二. MutipeerConnectivity:

       字面意思多热点链接。这个事苹果研究出来的真对于GameKit的替代品。它不仅仅支持蓝牙连接。它属于一个局域网的痛惜狂减,屏蔽了具体的链接技术。 通过MultipeerConnectivity链接节点之间可使文件资源传递不依赖于网络。它的实现方式主要是通过adveristing和disconvering,类似于客户端和服务器端之间的交互响应。通过一个对象发送广播发送消息,而另一个对象作为客户接受消息。经过两者之间的同意认可后就实现了对接。通GameKit它门之间的链接也需要一个专门的管道MCSession。用于接收和传递数据。而管道的两端分别对应的是MCPeerID,及两台设备之间的标示。

      我们只需要设置会话对象的代理,并监听会话的状态(是否联机诶),是否有接收数据 。 其实这个和socket的套字节的用法差不多。  

      搞清楚了基本原理name我们就只需要熟悉下几个方法和关键单词就能熟练运动了。 

      2.1 设置基本的属性和控件。 

     2.2 设置MCPeerID,MCAdvertiserAssistant(广播对象创建并启动)

     2.3 设置sessionde代理方法通道是否链接Ok,是否有接收到数据;设置MCBrowserViewController是否选择了蓝牙热点,并dissmiss控制器。 

 三 . 目前最常用的一种CoreBluetoolth 核新蓝牙技术,也称为低功耗

       无论是GameKit还是MultipeerConnectivity 都局限于苹果的手机上运行,非常的不方便。 CoreBluetooth.framework 基于BLE4.0标准,同时也能满足其它手机,目前使用非常广泛。运用在市场定义,室内定位,微支付,家具等领域。它的设计方式同样是机遇服务器和客户端的设计模式。 服务器端为外围设备Peripheral,客户端为Central.

       下面以本地LocationManage定位为中央设备,外围热点为其它蓝牙设备来做相关说明

       3.1 定义设备标示和名字;

      3.2 请求定位服务->需要注意iOS8.0之后需要对用户是否同意定位进行判定

      3.3 在LocationManage的代理方法选择性的实现当进入区域或者退出热点区域

     3.4 使用LocaitonManager的代理方法获取当前位置的所有热点对象

    3.5 开始监视热点,停止件事热点,停止检测热点,开始检测周围热点,开始广播,停止广播,

 

posted @   阿甘左  阅读(850)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示