Swift Multipeer Connectivity Cannot Connect Using Bluetooth

I have developed an application that communicates with nearby devices using multipeer connectivity framework in Swift 3 iOS10 SDK. It works as expected in iPads using only Bluetooth but it doesn't work in iPhones if wifi is set to off, and I want to use only Bluetooth. If it is the issue with IPv6 then how to enable it. Thanks,

Replies

Apparently there are ongoing issues with Multipeer Connectivity (and possibly the underlying NSNetService) over Bluetooth on iOS 10. I’m not really up to speed on the details, alas. My recommendation is that you try it over peer-to-peer Wi-Fi; if that works then peer-to-peer Bluetooth should also work.

Share and Enjoy

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

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

Apparently there are ongoing issues with Multipeer Connectivity (and possibly the underlying NSNetService) over Bluetooth on iOS 10. I’m not really up to speed on the details, alas.

I talked with DTS’s expert on this issue. Apparently there are two bugs in play:

  • The first bug (r. 28300004) prevents Multipeer Connectivity from connecting over Bluetooth on iOS 10. This bug is reported fixed in iOS 10.1.

  • The second bug (r. 28675206) breaks Bluetooth networking between iOS 10 and earlier OS releases. For example, iOS 10 to iOS 10 works, but iOS 10 to iOS 9 or vice versa does not. This affects NSNetService and anything layered on top of that, including Multipeer Connectivity. This issue is still being investigated.

Share and Enjoy

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

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

Just FYI, the second bug (r. 28675206) is reported fixed in the current 10.2 beta seed. You should re-test there and, if you’re still having problems, file a new bug about it.

Share and Enjoy

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

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