24

I want to use Wi-Fi Direct in a solution, but I'm unsure which platforms support it.

Does Wi-Fi Direct depend on iPhone/iOS version?

Can I develop an application with Wi-Fi Direct feature on a iPhone 4s with iOS 8.

Sergei Danielian
  • 4,938
  • 4
  • 36
  • 58
Remixed123
  • 1,575
  • 4
  • 21
  • 35
  • 3
    It's not called Wi-Fi Direct in iOS; it's called [Multipeer Connectivity](https://developer.apple.com/library/ios/documentation/MultipeerConnectivity/Reference/MultipeerConnectivityFramework/) – Raptor Feb 11 '15 at 07:02
  • Similar question: http://stackoverflow.com/questions/19067794/ios-7-multipeer-connectivity-and-android-wifi-direct – Raptor Feb 11 '15 at 07:05
  • 2
    Thanks Raptor, I now have the right name search on. I've looked at the link and it does not answer my question. Basically I need to know when Wi-Fi Direct Support was added, is it Device based or iOS version based? And I guess also will this Multipeer Connectivity work with Wi-Fi Direct devices? – Remixed123 Feb 11 '15 at 11:34
  • Hint: Multipeer Connectivity is available since iOS 7. – Raptor Feb 12 '15 at 02:00

3 Answers3

36

It took me a while to find out what is going on, but here is the summary. I hope this save people a lot of time.

Apple are not playing nice with Wi-Fi Direct, not in the same way that Android is. The Multipeer Connectivity Framework that Apple provides combines both BLE and WiFi Direct together and will only work with Apple devices and not any device that is using Wi-Fi Direct.

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

It states the following in this documentation - "The Multipeer Connectivity framework provides support for discovering services provided by nearby iOS devices using infrastructure Wi-Fi networks, peer-to-peer Wi-Fi, and Bluetooth personal area networks and subsequently communicating with those services by sending message-based data, streaming data, and resources (such as files)."

Additionally, Wi-Fi direct in this mode between i-Devices will need iPhone 5 and above.

There are apps that use a form of Wi-Fi Direct on the App Store, but these are using their own libraries.

Alex Zavatone
  • 4,106
  • 36
  • 54
Remixed123
  • 1,575
  • 4
  • 21
  • 35
  • 1
    "using there own libraries" Do you know of any libraries? – Daniel Ryan Mar 19 '15 at 21:22
  • 1
    No I do not know of any libraries, it is just an assumption as my client was telling me he has used an app that can connect directly to his camera that had Wi-Fi direct. In other words he could connect to his camera through an App and not need to change the Wi-Fi settings on his iOS device (he may have been confused and not realize it was BLE, but I don't think so, as he is a technically savvy client). If you find any such library please let me know....I believe it would need to be open and not private or there could be trouble with getting the App approved. – Remixed123 Mar 20 '15 at 03:58
  • 1
    I tried looking around and couldn't find anything. But I also read of apps having such a feature. – Daniel Ryan Mar 22 '15 at 20:14
  • 1
    "There are apps that use a form of Wi-Fi Direct on the App Store". Can you tell me which app use Wi-Fi Direct? – andaji Jul 21 '15 at 12:09
  • GoPro Session 4 is doing this somehow i think – appsthatmatter Jul 21 '16 at 21:26
  • Yes, please name the example that you mention. @jjoe64 what makes you think that GoPro Hero Session 4 is using it, and not the other models? – thnee Aug 19 '16 at 14:15
  • 1
    just because I had one and used it – appsthatmatter Aug 22 '16 at 08:19
  • I think this app uses somekind of wifi direct - https://itunes.apple.com/us/app/genius-remote/id1144849662?mt=8 I was able to configure a new wifi AC remote from Chunghop without having to connect my iPhone to the AC remote – Anish May 24 '17 at 08:24
13

The official list of current iOS Wi-Fi Management APIs

There is no Wi-Fi Direct type of connection available. The primary issue being that Apple does not allow programmatic setting of the Wi-Fi network SSID and password. However, this improves substantially in iOS 11 where you can at least prompt the user to switch to another WiFi network.

QA1942 - iOS Wi-Fi Management APIs

Entitlement option

This technology is useful if you want to provide a list of Wi-Fi networks that a user might want to connect to in a manager type app. It requires that you apply for this entitlement with Apple and the email address is in the documentation.

MFi Program options

These technologies allow the accessory connect to the same network as the iPhone and are not for setting up a peer-to-peer connection.

  • Wireless Accessory Configuration (WAC)
  • HomeKit

Peer-to-peer between Apple devices

These APIs come close to what you want, but they're Apple-to-Apple only.

WiTap Example Code

iOS 11 NEHotspotConfiguration

Brought up at WWDC 2017 Advances in Networking, Part 1 is NEHotspotConfiguration which allows the app to specify and prompt to connect to a specific network.

Cameron Lowell Palmer
  • 21,528
  • 7
  • 125
  • 126
  • Do you know of any good reference to using WAC for device setup with HomeKit? I find Apple's documentation to be poor – MattyK14 Sep 11 '17 at 17:52
8

According to this thread:

The peer-to-peer Wi-Fi implemented by iOS (and recent versions of OS X) is not compatible with Wi-Fi Direct. Note Just as an aside, you can access peer-to-peer Wi-Fi without using Multipeer Connectivity. The underlying technology is Bonjour + TCP/IP, and you can access that directly from your app. The WiTap sample code shows how.

Udi Aharoni
  • 81
  • 1
  • 3