码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 蓝牙的简单使用

时间:2016-05-12 14:30:03      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

最近简单的了解了一下蓝牙的使用,大致的步骤也就是连接设备,发送数据,接收数据
1、首先导入头文件

#import <GameKit/GameKit.h>

2、设置会话属性,传输数据需要的会话层

// 保留会话
@property (weak, nonatomic) GKSession *session;

3、遵守代理

UINavigationControllerDelegate,UIImagePickerControllerDelegate,GKPeerPickerControllerDelegate

4、首先连接设备

 // 1. 创建查找设备的控制器
    GKPeerPickerController *ppc = [[GKPeerPickerController alloc] init];

    // 2. 设置代理
    ppc.delegate = self;

    // 3. 弹出控制器
    [ppc show];

5、实现代理方法,做连接成功后的操作

// 设备连接成功后会调用该方法 peerID:设备节点ID  session:会话对象   一旦建立连接之后就会建立会话,然后互相传递数据
- (void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)peerID toSession:(GKSession *)session{

    NSLog(@"%@",peerID);
    // 设置数据接收着
    [self.session setDataReceiveHandler:self withContext:nil];
    self.session = session;
    [picker dismiss]; // 退出查找设备的控制器

}

6、发送数据

// 发送图片
- (IBAction)sendImage:(id)sender {

    if (self.imageView.image) {
        return;
    }
    // 发送到指定设备
//    [self.session sendData:<#(NSData *)#> toPeers:<#(NSArray *)#> withDataMode:<#(GKSendDataMode)#> error:<#(NSError *__autoreleasing *)#>]

    NSData *data = UIImagePNGRepresentation(self.imageView.image);

    // 发送到所以设备

    // GKSendDataReliable   可靠传输(数据一定会被传达,网络有变化时,会重新连接,再次传输) ->TCP
    // GKSendDataUnreliable 不可靠传输(数据只会传输一次,没有传到就算了)->UDP

    [self.session sendDataToAllPeers:data withDataMode:GKSendDataReliable error:nil];
}

7、接收数据

// 接受数据
// data: 接收到的数据
// peer: 从哪一个节点接收到的数据
// session: 会话
// context:
- (void)receiveData:(NSData *)data fromPeer:(NSString *)peer inSession:(GKSession *)session context:(void *)context{

    UIImage *recImage = [UIImage imageWithData:data];
    self.imageView.image = recImage;

    UIImageWriteToSavedPhotosAlbum(recImage, nil, nil, nil); // 保存图片
}

8、需要注意的是,GameKit蓝牙只能用于iOS设备之间的连接,只能用于同一个应用程序之间的连接,其实有关蓝牙方面的知识比较多,操作起来还是挺复杂的,这里只写了很简单的一些操作。

iOS 蓝牙的简单使用

标签:

原文地址:http://blog.csdn.net/sw_gegewu/article/details/51361280

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!