Bonjour iOS / Mac service not found on network

I have an iOS app that publishes a Bonjour service. On my network, the Mac application recognizes the service and everything runs smoothly. However, on some networks, the Bonjour service is not accepted by the Mac. I cannot reproduce this on my own network. I had users checking this service using Bonjour Browser and it was not found. Is there a way to diagnose this problem further? I thought this might be a firewall / router problem, but some users have very simple Apple (Airport) networks. Any ideas on what could be causing this?

+4
source share
3 answers

Another continuation: changing the device name seems to solve the problem. One user noticed that his iPad was discovered, but not his iPhone. Bonjour Browser has confirmed the presence of an iPad service without iPhone maintenance. Renaming the iPhone solved the problem. This is truly strange behavior.

0
source

Have you tried to implement

- (void)netService:(NSNetService *)sender didNotPublish:(NSDictionary *)errorDict 

method? it can sometimes provide useful information, although I also found that NSNetService also has strange behavior. Stopping NSNetService and republishing is an ugly option that seems to work for me to some extent.

+3
source

Make sure you use ...didNotPublish... as above. Some routers filter out multicast packets, and unfortunately, if you do not control the network, you cannot do this very difficult.

+1
source

Source: https://habr.com/ru/post/1379694/


All Articles