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对象,我们就可以用它来发数据了

原文地址:https://www.cnblogs.com/dongwenbo/p/4284518.html