Post

Replies

Boosts

Views

Activity

Reply to NWBrowser scan for arbitrary Bonjour Services with Multicast Entitlement ?!
So the response came quite quickly, but was disappointing: Engineering has provided the following information regarding this issue: On a Mac, specifying a service in NSBonjourServices, allows only that service to be accessed on the local network. No NSBonjourServices means allow all services (with user consent). This sounds like its is working properly. You can either add "_services._dns-sd._udp." to the NSBonjourServices, or remove it entirely I have responded explaining that this behavior is not documented, and works differently to iOS and iPadOS, which is particularly troubling for a Catalyst app which shares the Info.plist between all those environments.
Jun ’25
Reply to AppleID Login failing in virtualized OS
Sadly run into this issue trying out macOS26 beta 1 on macOS 15.5. Can’t login to AppStore and unable to sign and run Mac apps correctly in xcode26. One, if not the primary, interest in creating macOS VMs is for developers to test in beta environments. It seems that this is badly broken. It would be very helpful for Apples‘ developers if this could be fixed ASAP for the Tahoe beta period.
Topic: App & System Services SubTopic: Core OS Tags:
Jun ’25
Reply to NWBrowser scan for arbitrary Bonjour Services with Multicast Entitlement ?!
Hi Quinn, Thanks for your very helpful and clear response. Yes, I did have the NSLocalNetworkUsageDescription property set in the Info.plist. After much head scratching, I am glad to report that I have now discovered the issue. I had the NSBonjourServices property in the plist, with a number of services listed with which I interacted with elsewhere in the app, such as _hap._tcp, as instructed in Getting Started with Bonjour. Mysteriously, if that property contains any services, then searchForServices fails for _services._dns-sd._udp. Either deleting that property from the Info.plist, or just deleting all array elements of that property fixes the problem. With that change all searches are subsequently possible. It took me a while to realize that because Xcode doesn't seem to replace the Info.plist in a build when it is changed, but only after clearing the build folder... sigh. Regarding the resolution of services, Quinn wrote: Right, because you can’t resolve a service type. Rather, you’re expected to get the type from each result (via the name property) and start new browser for services of that type. That’ll results in services that you can then resolve. Many thanks, now if I correctly test the results of didFind, and launch a separate NetServiceBrowser for each one, I was then able to resolve individual text records. With that surprise discovery and with your tip on service resolution, the code is now working well on both macCatalyst and iOS. Many thanks ! Guy
May ’25
Reply to TN3135: Low-level networking on watchOS
I have been trying to write a standalone watchOS app which can monitor network state and interact using http (not https) with the local router on the wifi network. URLSession is failing if there is not an active connection to the internet beyond the router. The low level networking TN implies that the only way I can do this is to start an audio stream. However the FAQ doesn't clarify what exactly api must be called (and/or capabilities or entitlements required) to enable NWBrowser or NWConnection to function. Please could you clarify exactly how low level networking can be enabled in a standalone watchOS app ? Thanks Guy
Jan ’23