Good day. From IOS 17 have a problem with connecting to local ip devices. When i try to scan local network:
zeroconf.scan('http', 'tcp', 'local.');
i get en error:
Error: { NSNetServicesErrorCode = "-72007"; NSNetServicesErrorDomain = 10; }
I use the react-native-zeroconf libruarry, config the infoPlist with:
"NSBonjourServices": ["_http._tcp"],
"NSLocalNetworkUsageDescription":
"Allow Turkov application to configure LLC devices"
"NSAppTransportSecurity": {
"NSAllowsArbitraryLoads": true,
"NSExceptionDomains": {
"localhost": {
"NSExceptionAllowsInsecureHTTPLoads": true
}
}
And also i get approve sertificate to use multicast from apple team, and apply it in project
"entitlements": {
"com.apple.developer.networking.multicast": true
},
Below IOS17 (i tested at 16.6) - all work fine.. Can some one help with that problem?
Thanks for all the extra info.
The react-native-zeroconf library utilizes the built-in mDNS stack provided by iOS.
OK. That’s great news. Carrying around your own mDNS implementation is a really bad idea.
But it does mean that I have to come back to this:
And also i get approve sertificate to use multicast from apple team, and apply it in project
If you’re using the built-in mDNS implementation, you don’t need the multicast entitlement for your mDNS work.
Given that the same code works fine on iOS 16.6, but encounters issues on iOS 17, it seems there might be some changes or additional requirements in iOS 17
Of course, the other possibility is that the code has a bug and some benign change in iOS 17 is triggering this problem. And, honestly, that seems like the most likely option here. If Bonjour were fundamentally broken on iOS 17, I’d have heard about it.
I see a few paths forward:
-
You could dig into the Zeroconf implementation to see what Apple APIs it’s calling. That’ll let you find the source of this error, and we can then talk about why that API might return that error.
-
You could create a new test project using the process I described in Getting Started with Bonjour. Once you get that working, you have some reassurance that our Bonjour APIs are working correctly on iOS 17, and you can use that to guide your investigation of this error in your main app.
-
You could engage with the support channel for the third-party resource you’re using.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"