小编bde*_*paz的帖子

多重连接未以编程方式连接

我正在创建一个iOS/macOS应用程序,它通过Multipeer Connectivity Framework使用远程控制功能.由于要远程监视和控制的设备将在较长时间内运行,因此使用自动视图控制器方法是不可行的,因为监视设备可能被锁定或进入休眠状态,然后断开连接.所以我使用的是编程方法,这样当监控设备失去连接时,他们会在解锁/唤醒并且应用程序再次启动时自动配对.我的连接使用ViewController方法工作正常,但不是编程委托方法.广告,浏览和邀请工作正常,但是当远程端接受邀请时,我会收到几个错误,然后连接失败.奇怪的是,有几个错误是GCKSession错误.

那么为什么要尝试使用GameCenter框架呢?为什么在接受邀请后失败?它可能只是Xcode 8/Swift 3/iOS 10/macOS Sierra Beta SDK中的一个错误吗?

[ViceroyTrace] [ICE][ERROR] ICEStopConnectivityCheck() found no ICE check with call id (2008493930)
[GCKSession] Wrong connection data. Participant ID from remote connection data = 6FBBAE66, local participant ID = 3A4C626C
[MCSession] GCKSessionEstablishConnection failed (FFFFFFFF801A0020)
Peer Changing
Failed
[GCKSession] Not in connected state, so giving up for participant [77B72F6A] on channel [0]
Run Code Online (Sandbox Code Playgroud)

这是我的连接类的代码

func startAdvertisingWithoutUI () {

    if advertiserService == nil {
        advertiserService = MCNearbyServiceAdvertiser (peer: LMConnectivity.peerID, discoveryInfo: nil, serviceType: "mlm-timers")
        advertiserService?.delegate = …
Run Code Online (Sandbox Code Playgroud)

multipeer-connectivity swift3 ios10 macos-sierra xcode8-beta4

11
推荐指数
4
解决办法
8843
查看次数