iOS开发之蓝牙(一)GameKit

iOS中蓝牙的实现方案

iOS中提供了4个框架用于实现蓝牙连接

  1. GameKit.framework(用法简单)只能用于iOS设备之间的连接,多用于游戏(比如五子棋对战),iOS7开始过期
  2. MultipeerConnectivity.framework  只能用于iOS设备之间的连接iOS7开始引入,主要用于文件共享(仅限于沙盒的文件)

  3. ExternalAccessory.framework  可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证(国内较少)

  4. CoreBluetooth.framework(时下热门)可用于第三方蓝牙设备交互,必须要支持蓝牙4.0 硬件至少是4s,系统至少是iOS6 蓝牙4.0以低功耗著称,一般也叫BLEBluetooth Low Energy目前应用比较多的案例:运动手坏、嵌入式设备、智能家居

 我们先来学习GameKit这种方式,首先引入GameKit

1 #import <GameKit/GameKit.h>

我们先在界面上画一个按钮

技术分享

 

在按钮的点击事件中添加如下代码

1     //创建连接对象
2     GKPeerPickerController *ppc = [[GKPeerPickerController alloc] init];
3     //设置代理
4     ppc.delegate = self;
5     //显示
6     [ppc show];

让控制器遵守协议

1 @interface ViewController ()<GKPeerPickerControllerDelegate>
2 
3 @end

实现协议

1 -(void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)peerID toSession:(GKSession *)session
2 {
3     
4 }

可以看到连接成功后,协议方法中会给我们传入peerID和会话对象session,有了session对象,我们就可以用它来发数据了

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。