iOS中蓝牙的实现方案
iOS中提供了4个框架用于实现蓝牙连接
- GameKit.framework(用法简单)只能用于iOS设备之间的连接,多用于游戏(比如五子棋对战),从iOS7开始过期
- MultipeerConnectivity.framework 只能用于iOS设备之间的连接,从iOS7开始引入,主要用于文件共享(仅限于沙盒的文件)
- ExternalAccessory.framework 可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证(国内较少)
- CoreBluetooth.framework(时下热门)可用于第三方蓝牙设备交互,必须要支持蓝牙4.0 硬件至少是4s,系统至少是iOS6 蓝牙4.0以低功耗著称,一般也叫BLE(Bluetooth 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对象,我们就可以用它来发数据了
时间: 2024-10-12 12:02:15