【问题标题】:Detect errors in multi peer connectivity检测多对等连接中的错误
【发布时间】:2014-07-03 03:37:42
【问题描述】:

在旧的 GameKit 框架(iOS 7.0 中已弃用的部分)中,GKSessionDelegate 包含检测错误所需的方法 session:didFailWithError:

这可用于检测网络是否不可用,例如,如果 Wi-Fi 和蓝牙当前被禁用,它将返回 GKSessionCannotEnableError。在 iOS 7.0 中,这已被 Multipeer Connectivity FrameworkMCSession 类取代,但用于从此类中检索信息的 MCSessionDelegate 似乎没有任何错误检测。

MCNearbyServiceAdvertiserDelegate 确实有一个方法advertiser:didNotStartAdvertisingPeer: 用于检测对等方是否无法开始广告其服务,奇怪的是,即使在广告商启动时飞行模式处于打开状态,它也不会被调用。事实上,即使在关闭 Wi-Fi 和蓝牙的飞行模式下,它仍然会以某种方式宣传自己,并且可以被另一台设备上的浏览器检测到,但它似乎没有收到来自其他设备的任何邀请。

有什么方法可以获取错误信息并检测 Multipeer Connectivity 类当前是否无法访问其他设备?

【问题讨论】:

    标签: ios objective-c ios7 ios7.1 multipeer-connectivity


    【解决方案1】:

    MultipeerConnectivity 框架本身没有任何东西可以满足您的要求。但是,我确信如果您使用较低级别的对等发现代码(例如 NSNetService 或 Bonjour C API),那么您可以使用这些框架来确定连接性。

    否则,也许您可​​以添加一个 UI 视图,该视图在您浏览对等点后显示,并且在设定的时间后没有找到任何建议一些故障排除步骤(打开 WiFi 或蓝牙或两者;验证其他设备已网络服务;等等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多