MCBrowserViewController

1 MCBrowserViewController

  1. Initializing a Browser View Controller
  2. Getting and Setting the Maximum and Minimum Number of Peers

2 MCBrowserViewControllerDelegate

  1. Peer Notifications
  2. User Action Notifications

1 MCBrowserViewController

MCBrowserViewController用于帮助用户发现附近的设备,并邀请加入会话。MCBrowserViewController是UIViewController的子类,也就意味着你可以用常用的方法完成跳转。

1.1 Initializing a Browser View Controller

/// 初始化MCBrowserViewController
///
/// - parameter serviceType : 通话类型
/// - parameter session : 会话session
///
/// - returns: MCBrowserViewController
public convenience init(serviceType: String, session: MCSession)

/// 初始化MCBrowserViewController
///
/// - parameter browser : 附近的连接
/// - parameter session : 会话session
///
/// - returns: MCBrowserViewController
public init(browser: MCNearbyServiceBrowser, session: MCSession)

/// MCBrowserViewControllerDelegate代理
weak public var delegate: MCBrowserViewControllerDelegate?
/// 附近的Service
public var browser: MCNearbyServiceBrowser? { get }
/// 当前会话
public var session: MCSession { get }

1.2 Getting and Setting the Maximum and Minimum Number of Peers

/// 最小连接数
public var minimumNumberOfPeers: Int
/// 最大连接数
public var maximumNumberOfPeers: Int

2 MCBrowserViewControllerDelegate

2.1 Peer Notifications

/// 是否向附近的设备发出连接请求
@available(iOS 7.0, *)
optional public func browserViewController(browserViewController: MCBrowserViewController, shouldPresentNearbyPeer peerID: MCPeerID, withDiscoveryInfo info: [String : String]?) -> Bool

2.2 User Action Notifications

/// 完成连接
@available(iOS 7.0, *)
public func browserViewControllerDidFinish(browserViewController: MCBrowserViewController)

/// 取消连接
@available(iOS 7.0, *)
public func browserViewControllerWasCancelled(browserViewController: MCBrowserViewController)

 


Appendix

Sample Code

Swift

Multipeer Connectivity Framework Reference

MCBrowserViewController Class Reference

MCBrowserViewControllerDelegate Protocol Reference

Revision History

时间描述
2016-01-22博文完成

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974/Blog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 iOS 中,可以使用 MultipeerConnectivity 框架来实现组播(也称为多点广播)的发送和接收。MultipeerConnectivity 框架提供了一种在 Wi-Fi 和蓝牙网络上进行多点通信的方式。 以下是一个示例代码,展示了如何使用 MultipeerConnectivity 框架进行组播发送和接收: 1. 导入 MultipeerConnectivity 框架: ```objective-c #import <MultipeerConnectivity/MultipeerConnectivity.h> ``` 2. 创建 MCSession 对象: ```objective-c @property (nonatomic, strong) MCSession *session; ``` ```objective-c self.session = [[MCSession alloc] initWithPeer:[MCPeerID new]]; self.session.delegate = self; ``` 3. 创建 MCBrowserViewController 对象: ```objective-c @property (nonatomic, strong) MCBrowserViewController *browserViewController; ``` ```objective-c self.browserViewController = [[MCBrowserViewController alloc] initWithServiceType:@"my-service" session:self.session]; self.browserViewController.delegate = self; ``` 4. 发送组播消息: ```objective-c NSError *error; NSData *dataToSend = [@"Hello, World!" dataUsingEncoding:NSUTF8StringEncoding]; [self.session sendData:dataToSend toPeers:self.session.connectedPeers withMode:MCSessionSendDataReliable error:&error]; ``` 5. 接收组播消息: ```objective-c - (void)session:(MCSession *)session didReceiveData:(NSData *)data fromPeer:(MCPeerID *)peerID { NSString *message = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"Received message: %@", message); } ``` 在上面的示例代码中,我们创建了一个 MCSession 对象,并将其设置为自身的代理。然后,我们创建了一个 MCBrowserViewController 对象,并设置其代理为自身。通过 MCBrowserViewController,我们可以选择要连接的其他设备。 在发送组播消息时,我们将要发送的数据转换为 NSData,并使用 MCSession 的 sendData:toPeers:withMode:error: 方法将其发送到连接的所有对等点。 在接收组播消息时,我们实现了 MCSessionDelegate 的 didReceiveData:fromPeer: 方法,并将接收到的数据转换为 NSString,并打印到控制台中。 需要注意的是,我们需要在 Info.plist 文件中添加 NSMultipeerNetworkingUsageDescription 权限,以便用户授权应用程序使用 MultipeerConnectivity。 以上就是在 iOS 中实现组播发送和接收的基本步骤和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值