您是否可以在未请求设备和用户广播权限的情况下向附近的设备广播数据?

时间:2015-12-10 18:57:58

标签: ios swift bluetooth broadcast multipeer-connectivity

我正在尝试将应用程序作为业余爱好而我需要知道,是否可以在不请求每个设备的许可的情况下向所有附近的设备进行广播? 如果可以要求用户接受所有传入连接并向设备发送连接请求,而不让用户选择哪个设备对我来说很棒。 我发现你可以使用多重连接最多连接7个对等体,但用户必须选择他想要连接的每个设备。 附近广播的任何选项都会对我有所帮助, 感谢您的帮助! :)

1 个答案:

答案 0 :(得分:2)

接受邀请很容易,而不是提示广告客户接受,只需将invitationHandler设置为true即可。

例如,在我的实现中,我有一个MPManager类:

func advertiser(advertiser: MCNearbyServiceAdvertiser, didReceiveInvitationFromPeer peerID: MCPeerID, withContext context: NSData?, invitationHandler: (Bool, MCSession) -> Void) {
    self.invitationHandler = invitationHandler

    delegate?.invitationWasReceived(peerID.displayName)
}

委托方法:

func invitationWasReceived(fromPeer: String) {
       self.appDelegate.cManager!.invitationHandler(true, self.appDelegate.cManager!.session)
       self.connectingLabel.text = "Connecting"
}

对于浏览器方面,您可以类似地自动将邀请发送给它找到的任何对等方,问题是何时停止搜索对等方并在连接完成后继续执行您想要执行的操作。

您检查了PeerKit吗?我自言自语,零配置方法。我简要地检查了一下我做了什么,但是并不完全符合我的需要。也许它与你的相符。