ios 藍(lán)牙的實現(xiàn)方案
1 GameKit.framework ( ios 7 已經(jīng)過期了)
2 MultipeerConnectivity.framework (ios 7 開始引入)
3 ExternalAccessory.framework (必須經(jīng)過蘋果的認(rèn)證就是要給錢)
4 CoreBluetooth.framework ( 時下最熱門的 手機(jī)要4s ios6 以上 消耗的電量非常少 運動手環(huán),嵌入設(shè)備媒至,智能家居)? ?
?第一種方式藍(lán)牙實現(xiàn)的代碼
// 藍(lán)牙建立連接的方法
- (IBAction)content:(id)sender {? ??
? ? //創(chuàng)建連接設(shè)備的控制器? ?
?GKPeerPickerController *picker = [[GKPeerPickerController alloc]init];? ?
?//? ? 設(shè)置代理? ? picker.delegate =self;? ??
[picker show]; }
// 藍(lán)牙控制器的方法
- (void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)peerID toSession:(GKSession *)session { ??
// 保留會話 到后面的發(fā)送圖片的時候要使用??
? self.session = session;? ?
?// 連接是成功? ? //? ?
?? peerID 每個藍(lán)牙的節(jié)點id? ? //? ? session? 建立會話來傳送數(shù)據(jù)? ? // 設(shè)置句柄(設(shè)置了句柄的話系統(tǒng)要求你必須要實現(xiàn)一個方法)? ?
?[self.session setDataReceiveHandler:self withContext:nil];? ?
?? ? [picker dismiss];}
// 選擇照片
- (IBAction)choseImage:(id)sender {? ? if([UIImagePickerControll
er isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]);?
? UIImagePickerController *imagePicker? = [[UIImagePickerController alloc]init];??
? imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;? ? [self presentViewController:imagePicker animated:YES completion:^{? ? ? ? ? ? }];??
? imagePicker.delegate = self;??
}
//選擇照片的代理方法
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary*)info{
NSLog(@"%@",info);
self.imageView.image = info[UIImagePickerControllerOriginalImage];
[self dismissViewControllerAnimated:YES completion:^{
nil;
}];
}
// 發(fā)送圖片
- (IBAction)sendImage:(id)sender {
NSData *data = UIImageJPEGRepresentation(self.imageView.image, 1.0);
[self.session sendDataToAllPeers:data withDataMode:GKSendDataReliable error:nil];
}
// 接受數(shù)據(jù)的方法
- (void) receiveData:(NSData *)data fromPeer:(NSString *)peer inSession: (GKSession *)session context:(void *)context{
self.imageView.image = [UIImage imageWithData:data];
}