在未连接到公共网络的情况下发现另一个 ios 设备

discover another ios device without connecting to common network

我正在研究 Multipeer Connectivity Framework,试图找到一种连接附近设备的方法。更准确地说,我有两部 iPhone 可供使用。这个想法是在它们之间建立连接,以便能够传输小的音频流。一对一连接就够了,不用建群

一切正常,如果我执行以下任一操作,设备可以相互发现:

但是是否有可能仅通过同时打开 wi-fi 来以某种方式发现附近的设备?理想情况下,他们会 "see" 彼此并建立直接联系。

如果有人问过这样的问题,我很抱歉,但很难用一句话表达我想要达到的目标,因此很难找到任何相关信息。

如果你只需要发送一些音频或视频文件到另一个苹果设备,我想你可以使用airDrop来做到这一点。

事实证明,仅使用 Bounjour API(NSNetService 级别)就非常容易:

let browser = NSNetServiceBrowser()
browser.includesPeerToPeer = true

最终从 Apple 获取了 this excellent example,在 swift 中重写了部分内容并根据我的需要进行了调整。

注意:我也尝试过让它与 MultipeerConnectivity 框架一起工作,但它就是行不通。尽管设备会成功发现彼此,但它们仍然无法建立连接。 基于 NSNetService 的解决方案工作得很好。