zoukankan      html  css  js  c++  java
  • 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对象,我们就可以用它来发数据了

  • 相关阅读:
    002powershell使用常见问题
    028_如何外网下载大文件
    028MAC常用工具unlicense
    027_录屏倒计时弹窗实用小程序
    NIO相关基础篇
    写给刚上小学一年级的果果(家长寄语)
    [转]Mavlink协议
    [原][ARCGIS]使用ARCMAP分离导出单个矢量图形文件SHP
    [原][译]从osgEarth2升级到osgEarth3的变化
    [减肥]生酮减肥餐做法
  • 原文地址:https://www.cnblogs.com/dongwenbo/p/4284518.html
Copyright © 2011-2022 走看看