iOS and Wi-Fi Direct

My question is fairly straight forward - can iOS create a Wi-Fi Direct group that can be joined by non-iOS devices?


The only information I can find relating to iOS direct peer connectivity is https://developer.apple.com/library/prerelease/ios/documentation/MultipeerConnectivity/Reference/MultipeerConnectivityFramework/index.html


More specifically, "The Multipeer Connectivity framework provides support for discovering services provided by nearby iOS devices..."


Based on this I would say no, but technically speaking, there should be no limitation for Wi-Fi Direct as it is an open standard, and apps like AirDrop already use it.

  • This site will help you ----->> [https://not.justsolutionsproducts.com/wi-fi-direct-on-ios-tutorial/)

Add a Comment

Replies

Hi Quinn, one more question. Suppose the accessory and iOS device are connected to the same WiFi AP. Suppose iOS device has local IP address IP1 and is listening on port P1. If the accessory opens a TCP connection to IP1/P1 (with the iOS app running) and WiFi AP allows packet to get routed, is there something in the iOS system that will prevent this TCP connection from being established?

… can you comment on the HomeKit accessory type not mentioning a video camera accessory type.

No, sorry. I’ve seen user-level reports of HomeKit video cameras but I’ve no idea how that works at the developer level. Again, this is something you should pursue via MFi’s support resources.

Suppose the accessory and iOS device are connected to the same WiFi AP. Suppose iOS device has local IP address IP1 and is listening on port P1. If the accessory opens a TCP connection to IP1/P1 (with the iOS app running) and WiFi AP allows packet to get routed, is there something in the iOS system that will prevent this TCP connection from being established?

That should work just fine. If I’m reading the above correctly your question is equivalent to “Can iOS run a server that listens for incoming TCP connections?”, and the answer to that is, “Yes”. There are tonnes of apps in the store that do this.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hi eskimo...


Very helpful FAQ, but isn't there a missing option under peer-to-peer? As I understand it, a third party device that is broadcasting a Bonjour WiFi service will be discoverable by an iOS app via the "NSNetServiceBrowser" class.


Thanks!

As I understand it, a third party device that is broadcasting a Bonjour WiFi service will be discoverable by an iOS app via the NSNetServiceBrowser class.

That’s only true if the devices can ‘see’ it other via the underlying network interface. So, it works just fine for Ethernet and infrastructure Wi-Fi, but won’t work for peer-to-peer Wi-Fi or Bluetooth because, as the Q&A says, the on-the-wire protocols used by this peer-to-peer networking are not documented for third-party use.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thanks for your support!


could you explore this iPad technology please

https://www.youtube.com/watch?v=WfFa9WxxI2Q


How they did it? what used? They never use any wifi router!


First of all on iPad(server) they create special access code and then "teacher" share this code with "students" iPads and students fill the code in their APPLICATION (not in the iPad settings) and after that students iPads !automatically! connects to the server iPad, without any wifi settings et c

I responded on the other thread where you asked the same question.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Helpful FAQ.

Hi eskimo. Is there any change in the peer-to-peer networking space now(early 2019)?

The documentation of the multipeer connectivity framework changed. There is no limitation on connections to other iOS devices anymore. It just says „to other devices“. Did there change anything regarding support of WiFi direct? If yes, with which iOS version.

What I want to achieve is a SONOS like experience for connecting non-Apple devices to a WLAN. But these devices are not MFi certified. I.e, the iOS device connects via WiFi-Direct (or an adequate replacement) to the device and sends the connection information via https. The device will then close its WiFi Direct connection and access the other WiFi with the aforementioned information... Is this possible (ideally in a way that Android supports too)?

WAC is no option, correct?

Did there change anything regarding support of Wi-Fi Direct?

No. Apple’s peer-to-peer Wi-Fi continues to use an Apple protocol that’s not documented for third-party use.

WAC is clearly the best solution to this problem. If you can’t do WAC, your best place to start is NEHotspotConfigurationManager but the final user experience is likely to be quite bumpy. You can smooth things over using a side channel to get information from your accessory (like Bluetooth LE or a QR code) but it’s never going to be as smooth as WAC.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
  • I noticed that NetService and NetServiceBrowser have been deprecated as of iOS 15. Is there a new means to establish Wi-Fi Direct connections and share data with peers? I'm not seeing any comparable classes within Foundation.

Add a Comment

I noticed that NetService and NetServiceBrowser have been deprecated as of iOS 15. Is there a new means to establish Wi-Fi Direct connections and share data with peers?

[While this is orthogonal to your actual issue, I want to reiterate a point from my first response on this thread: The peer-to-peer Wi-Fi networking supported by Apple platforms is not Wi-Fi Direct.]

As to the deprecation you mentioned, the <Foundation/NSNetServices.h> header says:

API_DEPRECATED("Use nw_connection_t or nw_listener_t in Network framework instead", macos(10.2, API_TO_BE_DEPRECATED), ios(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(watchos)
@interface NSNetService : NSObject {
…
}

…

API_DEPRECATED("Use nw_browser_t in Network framework instead", macos(10.2, API_TO_BE_DEPRECATED), ios(2.0, API_TO_BE_DEPRECATED), tvos(9.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(watchos)
@interface NSNetServiceBrowser : NSObject {
…
}

In short, these APIs were deprecated in favour of Network framework.

It’s annoying that these deprecation notes aren’t surfaced in the documentation. This came up recently in another content and I coulda sworn I filed a bug about that, but I can’t find it in my records so I’ve just file one right now (r. 85246804).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"