MCManager
安装
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 Alamofire 集成到您的 Xcode 项目中,请指定您的 Podfile
pod 'MCManager', '~> 0.0.8'
Carthage
Carthage 是一个分布式的依赖管理器,它会构建我们的依赖并提供二进制框架。要使用 Carthage 将 Alamofire 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它。
github "maksymIv3/MCManager" ~> 0.0.8
使用
基本使用
导入模块
#import <MCManager/MCManager.h>
将自己添加为观察者
[[MCManager shared] addObserver:self];
使用显示名设置对等方和会话
[[MCManager shared] setupPeerAndSessionWithDisplayName:[UIDevice currentDevice].name]];
广播自身
[[MCManager shared] advertiseSelf:YES];
设置浏览器
[[MCManager shared] setupMCBrowser];
[[MCManager shared] setDelegate:self];
[self presentViewController:[[MCManager shared] browser] animated:YES completion:nil];
浏览器视图控制器代理方法
- (void)browserViewControllerDidFinish:(nonnull MCBrowserViewController *)browserViewController;
- (void)browserViewControllerWasCancelled:(nonnull MCBrowserViewController *)browserViewController;
断开连接
[[MCManager shared].session diconnect];
发送数据
NSError *error;
MCManager *mcManager = [MCManager shared];
[mcManager.session sendData:data
toPeers:mcManager.session.connectedPeers
withMode:MCSessionSendDataReliable
error:&error];
要将自己添加为观察者,我们需要实现MCObserverProtocol
#import <MCManager/MCObserverProtocol.h>
-(void)didChangeState:(MCSessionState)state peer:(MCPeerID *)peerID;
-(void)didReceiveData:(NSData *)data fromPeer:(MCPeerID *)peerID;
-(void)didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress;
-(void)didFinishReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:(NSError *)error;
-(void)didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID;