Hello,
First, thank you for creating such an excellent library.
Some users of my open-source app (github.com/borneo-iot/borneo) said esp_smartconfig isn’t working on iOS. I checked your code, and it looks like it’s sending UDP packets via multicast, which iOS blocks due to permissions. However, I believe you understand SmartConfig's principle well. It's all about the physical frames in the air, not whether the UDP packets get through.
So, how about sending packets to something like 192.168.1.1? Doesn't matter if the phone's IP is on a different subnet.
Since I don‘t have any Apple device, I can’t test this myself right now.
Hope this suggestion helps, thanks again.