iOS 27 broke my app. Claude and I fixed it the same day
· 5 minutes read
This morning I wrote that iOS 27 blocks the way attention awareness works, and that there is no other way. I was wrong. By the evening the app supervised my iPhone SE on iOS 27.2 and kept every photo on it.
This is how it went, with the wrong turns left in.
What broke
attention awareness supervises an iPhone without erasing it. The way it did that on iOS 26 was simple. It made a tiny backup with one file in it, the file that says "this iPhone is supervised", restored that backup to the phone and restarted it. The phone came back supervised with all its data.
On iOS 27 the same run gave me a phone that was not supervised and had lost its data. Apple's own deployment guide says it now: on iOS 27 a backup carries no supervision state, and a restore does not bring it back. The only documented way left is Apple Configurator, which erases the phone first.
So the app showed a "not supported yet" screen on iOS 27, and I parked the problem.
It was still possible
Then I tried another tool on the same iPhone SE with iOS 27.2. It supervised the phone. My photos were there the second it finished.
So it was possible. Somebody had found the way, and I only had to find out what they do differently.
I gave that tool to Claude Code to find out. It did not take long to read.
Finding one: send the setting live
iOS 27 ignores supervision that arrives inside a restore. But after any restore, the iPhone stops on a setup screen called Restore Completed.
While the phone is on that screen it is still in setup, and a phone in setup accepts the supervision setting directly over the cable. That is the same request Apple Configurator sends. Configurator erases the phone to get it into setup. A tiny restore gets it there without erasing anything.
So the restore does not carry supervision anymore. It only brings the phone back to the setup screen. Then the app sends the setting, reads it back to check, and tells you to tap Continue.
We built that in an hour or so. I ran it on the SE.
It worked, and it lost my data.
The wrong guess
The log showed the new step doing its job: the phone took the setting and read it back correctly. The data loss came from the restore before it.
Our first guess was a restart flag. We told the restore not to restart the phone and restarted it ourselves. The other tool lets the restore do the restart. We changed that. It lost the data again. Wrong guess.
Then Claude read the other tool's restore request field by field and found three differences from ours. We changed all three at once, and the next run kept everything. Supervised, photos there, apps there.
That was the fix. But I did not know which of the three things had been losing the data, and I did not want to ship something I did not understand.
One change per run
So we went back. Claude added three debug flags to the app, one for each difference, and I ran the phone back and forth: supervise, unsupervise, supervise. One thing changed in each run. I checked the photos, the apps and my Apple account after every run and reported.
- Nothing changed. All data kept.
- "Remove items not restored" turned off. All data kept, Apple account kept.
- The extra setup file put back in the backup. All data kept.
- Nothing changed, but I tried to tap Continue before the app was ready. I could not. The screen never showed. I think the app sent the setting first, and the setting tells the phone to skip that screen. All data kept.
- "Restore system files" turned on. After the passcode the phone showed the Apple logo and a progress bar for a long time. Then my Apple account was signed out and my photos were gone. The apps and the open Safari tabs were still there.
One option. RestoreSystemFiles. iOS 26 needs it, because the supervision file is a system file. On iOS 27 it makes the phone throw away system data that is not in the backup, and our backup has one file in it.
We removed the debug flags after that. They did their job.
What I also learned
- The profile still works on iOS 27.2. Website blocking and the adult content filter work as before.
- A blocked app behaves differently now. There is no popup. The app is not on the Home Screen and it cannot be opened. It is silent.
- After a run, the iPhone asks for the Apple account password once. The account stays.
What ships
The Mac app now supports iOS 27. It is still free and still open source.
I tested it on one phone: an iPhone SE (2nd generation) on iOS 27.2, many runs in both directions. I have not tested other models or iOS 27.0 yet. Back up your phone before you run it. If it does something different on yours, tell me.
How the turntables
The whole thing took one afternoon. In the morning I wrote "shit happens". It does. But sometimes it un-happens the same day.