Before I get started, this is not a paid review. I received no compensation for this, and I get no referral bonus for the software I’ve linked below. I’m simply sharing how I solved a problem with bad jailbreak detection on my iPhone.
I’ve jailbroken my iPhone a few times over the years. Yes, I dabbled in the “free” apps. Beyond losing interest in that activity, most modern games have such sophisticated business models that they don’t make their money from the original app purchase anyway. So I spent most of my time with tweaks that changed the behavior of my phone. Bigger folders or application dock, more icons on the screen, changing locking behavior, tweaking carrier logo, YouTube audio with the screen locked, whatever. I ran into the occasional app that would have jailbreak detection and that became a pain in the butt.
When iOS 14 was released, I decided I wanted the latest OS more than the tweaks I had installed. So I removed unc0ver, selecting the option to restore rootfs, assuming that would leave me in a nice, clean state. Then I upgraded to iOS 14. I noticed trouble when I tried to launch PokemonGo. The app started to load it’s splash screen and then would crash. This is the same behavior I was experiencing when jailbroken on iOS 13 (until I found some jailbreak detection bypass tools).
So here I am in iOS 14 and getting detected as jailbroken. So, I did a backup and restore of my phone. That didn’t work. I upgraded our family’s iCloud to more storage and tried an iCloud backup and restore. I still had crash detection.
At this point, since iCloud backs up various data, like SMS, pictures, etc. separately, I figured I’d try a reset and just reinstall the apps I was missing. Well, this worked, except for one problem, my Apple Watch. It seems your Apple Watch activity and health history is stored on your phone and paired to that instance of the phone. When I wiped my phone and let my personal data restore from iCloud, my watch didn’t “recognize” my phone. I reset my watch, but then that erased all of my activity data on my watch… queue another restore from backup.
So I figured out there were some traces of a previous jailbreak still rattling around on my phone, but I had no clue how to access them. I started scouring the net (and lots of Reddit threads) and found a post with an important hint. Apparently app developers are starting to look for the preferences files relates to known tweaks as an indication of a jailbreak. So, apps that I had removed, left some trash on my device, and other apps, like Pokemon Go, were deciding I was still a damned, dirty, jailbreaker.
So… I’ve got 90% of the puzzle, but how to edit the filesystem on a device that isn’t jailbroken? I looked into some iTunes alternatives that claimed to be able to see files on the phone. They could see some of the files, but not enough. Not without being jailbroken.
Finally I found a promising lead. I found an application, iMazing, which promised to let me edit my iPhone backups. So, I actually purchased a license on faith. I made sure I had a working backup in iTunes and iCloud and set to work. I made another backup in iMazing. Then I started exploring what was accessible in the File System.
Not knowing the layout of the filesystem I started in the RootDomain > Library > Preferences. There I found several things I was able to recognize as jailbreak preferences. So I started removing preferences for things like Pangu and bytafont. One recommendation I saw was to leave anything that started with “com.apple…”. Anything else that I didn’t recognize I googled. If it showed up in some jailbreak repository, I removed it.
I figured there were more so I continued looking. I found more under HomeDomain > Library > Preferences. There I even found a few directories to remove. At that point I figured I was done.
Oh, a quick note, prior to letting you edit a backup, iMazing forces you to create an editable copy of your backup. This is a nice step to protect users from themselves, but depending on how big your backup is, it could take a while. Mine was almost an hour.
Editable backup created, jailbreak tweak preferences deleted, I was ready to start the restore. I chose to have iMazing wipe my phone as it restored the edited backup (knowing I had both iCloud and iTunes to fall back on) and wait the few hours it took. When all was said and complete, my phone was restored, working, my watch was connected, and yes, Pokemon Go would launch. That confirmed my suspicion. It was crappy jailbreak detection by Niantic that started my headaches. Coming out of this, I had a new tool in my arsenal for managing my phone and a little better understanding of the filesystem of the device.
If you find yourself in the same boat, I apologize that I can’t put an exhaustive list of preferences to remove here, there are just too many. If you make sure you have working backups though, a little Goolge and a little trial and error will see you through. Let me know if this helps you out.