TL;DR
iOS: 15.5 ; Device: iPhone 12 Pro Max
Today I was using the developer tool called Network Link Conditioner and I got my phone in a state where it fails to make every HTTP request and I don't see any way of fixing it. The SMS and Calls are working fine.
How did I try to fix this?
- Reboot (a lot of times)
- Reset Network Settings (a few times)
- Reset All Settings (2 times)
- Update iOS to the latest version (15.5)
- Contact the Apple Support via Chat
- Contact the "Senior" (🤷♂️) Apple support via phone call
- Disabling the phone for a few hours
- Enabling and disabling every Network Conditioner Profile "just in case"
- Enabling and disabling WiFi, Cellular and the airplane mode.
What happened?
I was using the Network Link Conditioner tool to test the app's behavior under poor network condition. I don't remember the exact sequence of action but basically I just enabled the tool and then was switching between different profiles: 3G
, Edge
, DSL
ans so on.
At some point I finished the testing, turned the tool off and got back to just using the iPhone. That was the moment when I noticed that I can't send a message using Apple's Messages app. Then I noticed that I can't load any web page.
My first thought was that my WiFi stopped working all of a sudden, so I switched to cellular, but it had the same problems. As a side note: my MacBook was working fine on the same WiFi.
I moved to the office where I tried to use another WiFi network, but it also didn't help. I could not load anything, my phone was actin like there is no connection, while also showing me WiFi icon, and 5G on cellular. I can still receive SMS and phone calls though.
Factory Reset or Backup
I would try to do a Factory Reset or Restoring from the Backup, but it's not possible since my iPhone has FindMy enabled and to turn it off I need an internet access.
I turned it off from my MacBook using the icloud.com, but the phone still needs to fetch this data and it can't do that because it can't perform any request.
Also any other resetting option from MacBook don't help since iPhone still has the FindMy enabled and I can't logout from it without the internet.
Why do I think there is an internet connection
I have this messenger app called Telegram installed, and it uses sockets instead of the HTTP requests and this app works just fine as long as I'm connected to the WiFi or a Cellular.
My guess on the cause
I don't know how this developer tool is implemented of course, but I think it might be some requests interception on the Foundation
level, something with the URLSession
. where the data is fetched by the delays and the data loss are simulated or something like this.
And probably there is a bug in this tool that hardcoded this option enabled and now the whole system fails to make any HTTP request and the only app that is build entirely on sockets is working fine.
What did the Support say?
Support didn't gave much help and basically suggested to write a post on this website and ask other people because the problem is most likely rare.
Conclusion
I still hope that it's some stupid mistake of mine that can be easily resolved but I ran out of the option so I hope you can suggest something I haven't tried yet.