iPhone Screen Mirroring: Device caching and discovery
iPhone 13 mini running iOS 26.2
I went to mirror a stream to a previously used Roku device. It popped right up on the Screen Mirror list, but would not respond. Investigation of the Roku showed it had lost its network connection - so what showed on the Screen Mirror list was still in cache, not from a current request - and sure enough, after repairing the Roku's LAN connection, it worked fine. That raised a number of questions for which I realized I need answers:
- Does the iOS device (iPhone) cache a Screen Mirror list for each network?
- How does the iOS device build its list of Screen Mirror servers on a local network? I presume it broadcasts a request to the LAN, the first time it is invoked on a new LAN, asking "Does anyone provide this service?" - Is that correct? [Is that broadcast a Bonjour function?] If not, how does it acquire its list of Screen Mirror servers?
- To avoid the problem of false positives in the Screen Mirror list, how can I clear that cache (#1) and issue a new request (#2) for current Screen Mirror servers? How can iOS avoid showing servers that no longer exist on the network?
- Is there any limit to the number of networks cached by iOS, or the number of servers cached per network?
More generally, is there a good resource to read how iOS manages this issue?
iPhone 13 mini