Wi-Fi Direct和iOS支持

24

我想在一个解决方案中使用Wi-Fi Direct,但我不确定哪些平台支持它。

Wi-Fi Direct是否依赖于iPhone/iOS版本?

我可以在iOS 8上的iPhone 4s上开发具有Wi-Fi Direct功能的应用程序吗?


4
在iOS中,它不被称为Wi-Fi Direct,而是称为“Multipeer Connectivity”(多点连接)。Multipeer Connectivity Framework - Raptor
类似问题:https://dev59.com/12Ik5IYBdhLWcg3wrvy4 - Raptor
2
谢谢Raptor,我现在已经正确地进行了名称搜索。我查看了链接,但它并没有回答我的问题。基本上,我需要知道Wi-Fi Direct支持是何时添加的,它是基于设备还是iOS版本的?我猜这个Multipeer Connectivity是否能与Wi-Fi Direct设备一起使用? - Remixed123
提示:自iOS 7以来,多点连接功能已经可用。 - Raptor
3个回答

36

我花了一段时间才搞清楚情况,以下是总结。希望这能节省大家的很多时间。

Apple在Wi-Fi Direct方面与Android不一样,不太友好。Apple提供的Multipeer Connectivity Framework将BLE和WiFi Direct结合在一起,仅适用于Apple设备,而不适用于使用Wi-Fi Direct的任何设备。

https://developer.apple.com/library/ios/documentation/MultipeerConnectivity/Reference/MultipeerConnectivityFramework/index.html

在该文档中指出 - "Multipeer Connectivity框架提供支持,可通过基础设施Wi-Fi网络、点对点Wi-Fi和蓝牙个人区域网络发现附近iOS设备提供的服务,并随后通过发送基于消息的数据、流数据和资源(如文件)与这些服务进行通信。”

此外,在i-Devices之间以这种模式使用Wi-Fi Direct需要iPhone 5及以上。

App Store上有使用某种形式的Wi-Fi Direct的应用程序,但这些应用程序使用自己的库。


1
使用他们自己的库 你知道任何库吗? - Daniel Ryan
1
不,我不知道有任何库,这只是一种假设,因为我的客户告诉我他使用过一款可以直接连接到他带有Wi-Fi直连功能的相机的应用程序。换句话说,他可以通过一个应用程序连接到相机,而不需要更改iOS设备上的Wi-Fi设置(他可能感到困惑,并没有意识到它是BLE,但我认为不是这样,因为他是一个技术娴熟的客户)。如果您找到了任何这样的库,请让我知道......我认为它需要是开放的,而不是私有的,否则可能会在获取应用程序批准时出现问题。 - Remixed123
1
我试着四处寻找,但没有找到任何东西。但我也读到过一些应用程序具有这样的功能。 - Daniel Ryan
1
有一些应用程序在App Store上使用了一种Wi-Fi Direct形式。你能告诉我哪个应用程序使用了Wi-Fi Direct吗? - andaji
1
仅仅因为我有一个并使用它,这并不代表其他人也需要。 - appsthatmatter
显示剩余3条评论

13

当前iOS Wi-Fi管理API的官方列表

没有可用的Wi-Fi Direct类型的连接。主要问题是苹果不允许编程设置Wi-Fi网络SSID和密码。但是,在iOS 11中,您至少可以提示用户切换到另一个WiFi网络,这有了很大的改进。

QA1942 - iOS Wi-Fi Management APIs

授权选项

如果您想在管理型应用程序中提供用户可能想要连接的Wi-Fi网络列表,则此技术非常有用。它需要您向苹果申请此授权,并且电子邮件地址在文档中。

MFi计划选项

这些技术允许附件连接到与iPhone相同的网络,并且不适用于设置点对点连接。

  • 无线配件配置(WAC)
  • HomeKit

苹果设备之间的点对点

这些API接近你想要的,但它们仅适用于苹果设备。

WiTap示例代码

iOS 11 NEHotspotConfiguration

WWDC 2017网络进阶, 第1部分中提出了NEHotspotConfiguration,它允许应用程序指定并提示连接到特定网络。


你知道使用WAC来设置HomeKit设备的好参考资料吗?我发现苹果的文档非常简单。 - MattyK14

8
根据主题讨论:
iOS(和最新版本的OS X)实现的点对点Wi-Fi与Wi-Fi Direct不兼容。 注意:只是作为一个旁注,您可以在不使用Multipeer Connectivity的情况下访问点对点Wi-Fi。底层技术是Bonjour+TCP/IP,您可以直接从您的应用程序访问它。 WiTap示例代码展示了如何操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接