Recently I helped a customer fix a software glitch with their iPhone wifi, where the wifi switch often wouldn't turn on. Or, the wifi would appear to be on and connected to the network on the main page of the settings app, but tapping wifi would reveal that the wifi was actually off. Originally he suspected that the issue was hardware, until the wifi problem persisted after upgrading to a new iPhone XS.
Here's his description of the problem, to help see if it applies to you:
I was hoping you would be able to help me with an issue I've recently encountered where my phone has trouble connecting to the WiFi. Often times it appears as if my WiFi is permanently off and I have no way of switching it on. For example, if I goto Settings > Wi-Fi, I will see that my Wi-Fi is slider is set to off. If I try to slide it to on, it just slides back to grey/off as soon as I let my finger off.
This was happening on my iPhone 7, and when I recently switched over to a new iPhone XS, I am getting the same issue (which leads me to suspect it is software related). I am running iOS 12. Sometimes if I restart my phone, the problem corrects itself but after a period of time, I encounter the same issue again. Have you ever encountered an issue like this before?
When I tap on Settings and look at the row for 'Wi-Fi' (just underneath 'Airplane Mode'), I do see the name of my home WiFi network displayed so it seems to recognize it. However, it's not actually connected to the WiFi network. When I tap into the 'Wi-Fi' row, that's where I see that my Wi-Fi slider is set to off and attempting to slide it to on just doesn't work. However, I notice sometimes that if I just leave my phone alone for some indeterminate period of time (could be an hour or more), it sometimes randomly connects to the Wi-Fi by itself.
First we tried some of the usual tricks, which I recommend you try first if you're having iPhone wifi glitches:
Open the Settings app, and turn on Airplane Mode. Wait 10 seconds, and then turn Airplane Mode off.
Open the Settings app > General > Reset > Reset Network Settings. This will purge your existing saved wifi networks and passwords and your other saved wifi settings.
After trying these surface fixes, I took a look at the debugging logs from his iPhone while trying to connect to a wifi network, and saw that the wifi service was running out of memory. "wifid", the wifi daemon program/service was constantly crashing in the background due to the memory problem.
The problematic settings for the wifi that were causing the wifid crashes are stored in the iPhone backup, so to fix it, there's two choices. One solution is to wipe the iPhone and start from scratch, without restoring a backup (this includes iCloud backups.) However in this case, the customer didn't want to start from scratch, so we used a custom version of Decipher Backup Repair to purge some of the problem files from the backup. He wiped the iPhone and then restored the repaired backup, and he was then able to connect to wifi networks!
If you're reading this and it sounds like the problem you're having with your iPhone/iPad wifi, I'd love to hear from you so we can get an idea of how common this wifi bug is. You can let us know either by sending us an email or leaving a comment below.
Or, if you'd like to use Decipher Backup Repair to get rid of the broken settings in your backup, and fix the issue without having to start from scratch on your iPhone, send us an email and I'll follow up (quickly!) with a version of Decipher Backup Repair made to fix this wifi settings bug issue.