TLDR: Finally after 8 years a new update for Zombie Outbreak Simulator on iOS! Get it on the App Store now!
The last release for ZOS on iOS was eight years ago in 2016… 😳
In that time, Zombie Outbreak Simulator for both iOS and Android have degraded. First some things stopped working on some devices, then on more devices. While the iOS version still partly worked, the Android version broke to the point where Google delisted it. It’s been not great for a while… 😢
I’ve now fiiiiinally found the time to get back to working on ZOS to fix the problems and get the apps running properly again. I started with fixing up the iOS version, and that update is now finally released. More details below if you’re curious!
While originally developing ZOS for iOS over 2011-2016 I had built up a bit of a collection of various iOS devices to test with.
The newest I had from back then was an iPhone 6S from 2015. When I decided to get back into releasing an update I figured that I should get a new device for testing, so my first step was a trip to the Apple Store to get an iPhone 15 (I started this a few months ago, before the iPhone 16 came out).
I then fired up my ten-year-old 2014 Macbook that I hadn’t used in years. I expected to have a few updates to install and then I’d be on my way… but nope 😢 It turned out my old Macbook could only upgrade to macOS 11.7 (Big Sur), but I would need at least Xcode 15.0 to be able to build and publish app updates to the store, and that would require at least macOS 13.5 (Ventura). At that point I could even open my old version of Xcode either…
So, another trip to the Apple Store later I had bought a new Macbook, and could finally get started!
I then opened up my old project in Xcode. A lot has changed in 8 years! There were so many build errors for things that were now broken – hundreds and hundreds of errors. I’m not even sure what the total was, as it would give up after displaying several hundred. I’d then have to fix those in order for it to reveal the next several hundred problems. One sad part of this process as I was working through each issue was that there were a few third-party services I had used back in the day (eg for tracking down crashes and bugs), which turned out to have gone out of business since I last used them 😢
Eventually I got it to build and run on my iPhone – with only 1583 warnings remaining! 😆
Once I had it building, the first and biggest problem was that the online google maps didn’t work properly! Zombies and people would run around, but the map itself would just come up as grey.
This turned out to be something that had changed in google maps. I later found an old email from google last year saying that the super-old version of the maps API that I was using would soon stop working and I needed to upgrade.
After applying a few upgrades and figuring out what had changed in the latest version of google maps, this turned out to be not too hard to fix, and I had the online maps working again!
With the maps working, the next issue I had to sort out was the screen layout. Back in the old days of the iPhone 6S, phone screens were rectangles. These days, there’s all sorts of notches and dynamic islands and rounded corners and things.
iOS seems to ‘trick’ old apps into thinking they’re running on an old device and then displays that in a cropped rectangle, and so on an iPhone 15 the old app looked like this:
After rebuilding the app with the latest version of Xcode, now everything filled up the whole screen:
However this didn’t work either. There was stuff being clipped off by the rounded corners. And the menu button at the left side was hidden behind the camera / dynamic island.
To make things easy I decided to crop the screen to the safe area inside the rounded corners, which also clears the dynamic island:
This looked pretty good most of the time, but sometimes the home bar would get in the way of buttons at the bottom of the screen (back in the iPhone 6S days and earlier, iPhones had physical home buttons!). So I decided to crop off that area as well:
I might revisit this at some point, to maybe have the map fill the whole screen but then move the info and controls inside the safe area. However for now this was the easiest way to get something working!
After a couple of other minor updates it was time to submit the update to the App Store for review… and then cross my fingers…
I haven’t had a lot of luck with submitting ZOS for iOS to Apple in the past, and this time was to be no exception: a few days later and both apps were rejected… 😢
There were 3 issues which caused the 2 apps to be rejected.
The first one: For the last approx 8 years, the description on the App Store for both apps has said “over 1.2 million downloads across iOS and Android!”
When I submitted the update I updated this to the new number – now over 3 million downloads! – and thought that would be fine. But nope!
This was Apple’s complaint about that, for both apps:
This comes across as really petty and insecure of Apple to not allow a mention of their competitor Android! 🙄 Plus it’s been like that for the last 8 years!
Oh well, not much I can do about that when I’m playing in Apple’s walled garden, so I changed it to say “Over 3 million downloads!” and moved on.
For the second rejection: There are 2 versions of ZOS on iOS – Zombie Outbreak Simulator (which is free with limited features and in-app purchases to upgrade to the full version), and Zombie Outbreak Simulator Pro (which can be purchased up-front for the same price as the in-app purchases in the free version).
Since the last update 8 years ago, both apps have had the same icon:
This time Apple decided to reject the Pro app as spam for having the same icon:
To fix that I added a ‘PRO’ down the side of the Pro icon, and Apple were fine with that!
For the third rejection: The free version of ZOS includes a couple of places where you can choose to watch a video ad to unlock some extra features (instead of paying for the in-app purchases). A lot has changed in the way ads work on mobile in the last 8 years, but surprisingly the ads were still working on the old version of ZOS.
Most mobile ads involve some kind of tracking, to be able to know something about the player and show them more relevant ads. Apple is now very strict about allowing tracking, players need to be asked for permission to be tracked. When submitting the update I filled in the info to say that the app included some ad tracking – I wasn’t sure if that would be enough or not. It turns out it wasn’t, I also needed to include a prompt in the game itself to ask the player for permission for tracking. In the end this turned out to be pretty simple to include.
With those 3 fixes done I resubmitted the apps for review. While usually apps get reviewed within a few days, for some reason this process took over 2 weeks this time!! Oh well, at least both apps did finally get approved in the end!
You can go get the update for Zombie Outbreak Simulator on the App Store now!
Now that the iOS version has been fixed and released, it’s time to get onto fixing the Android version!
cya!