I’ve been having a right mare lately trying to get my BotSumo game to work on iPhones.
It’s been one of those journeys, like climbing a mountain looking back, thinking – was it really that difficult? From the vantage point of the end of the process, it doesn’t look that bad. But on the way up it’s difficult to even see where the next step is.
There’s a lot of documentation out there of course. Many many people have gone through this process, and my journey is not unique. But there’s also a lot of outdated information, as Xcode (the application you need to upload from) seems to have changed a lot.
There’s also different places that you need configuration, like Apple developers, itunes connect, and Xcode, (and I’m using Unity, so that too) and the order you need to configure them isn’t obvious, and sometimes requires going around in circles.
Because I’m using Unity to build this app, and their documentation is usually so good, I started out following their tutorials. They have a youtube video which is horribly out of date, so that was more confusing than useful.
There’s a really good video here going through the process which helped a lot:
The problem that caught me out here is that he’s not using Unity, and he’s already got an iPhone connected (something you need – but I didn’t know that you need).
Adding an iPhone
So there was quite a bit of this process that I had to go back and forward on. I asked in the Unity Developers Facebook group about needing an actual iPhone, as it wasn’t clear that I couldn’t just use the simulator in Xcode. It turns out, yes, yes I do. A friendly guy from India quite happily offered me his UDID code which is really nice, but I wasn’t sure what the implications were of using a stranger’s ID, so I asked a friend instead. Apparently having your UDID registered with a developer account gets you access to preview builds of iOS too, presumably to test your app with upcoming releases.
So adding the iPhone to the Apple Developers dashboard was the last piece of the puzzle, and this allowed me to create a build from Xcode by going Product > Archive which btw isn’t exactly obvious. Especially when it’s next to the option “Build for” which I thought I’d have to use, but apparently not.
Ok so I was so excited when the next stage had an “Upload to app store” button that I even recorded me pressing it and letting out an excited squeak as it started working.
Unfortunately my joy changed to misery when it reported some incomprehensible errors.
Don’t know how to fix that 1st one. It doesn’t even know itself what sort of error it is.
The 2nd error could be fixed by selecting “Arm 64” architecture within Unity when exporting. No idea what that is, what it really means, or why I’m being asked it, as I’m the least qualified person to make decisions about processor architecture, but it seemed to work ok after changing it.
The other errors were about icons, which is a really fiddly process of adding icons of different sizes for all the different places it gets used. I have no idea why Apple don’t do this themselves based on a larger icon, because it’s a real faff having to add them individually, even when using a generator like this one: Makeappicon.com.
Although turns out I didn’t need to add these individually. I upgraded my Unity to the latest version and it fixed this issue. Maybe Apple had changed the image sizes they needed, & Unity had made an update to accommodate.
I spent some time getting some screenshots for the slightly different size that the Apple store requires, and tried uploading again. This time, great success!
So now the action shifts to the itunes connect site (why itunes? That’s about music, right?!!!). This is where you setup your app screenshots, description and other meta information. This is all straightforward and the same as on Google Play except they need contact details – maybe they’re going to call me up about my app?
Giving the app a rating
The app ratings were a bit different to Google Play. For one, they were slightly less obsessed with vomit and poop (honestly, Google asks some freaky questions!). It asked about the “Advertising Identifier (IDFA)” which I’d never heard of until today. My game does use ads, so I looked this up, it’s important to get this right. A Unity forum answer helped me fill this part in correctly.
So after this I submitted it for review. Not sure how long this will take, the Google Play store was really quick, like 15minutes to be approved, but I’ve heard this will take a lot longer, as Apple actually check all games manually.
So at the time I’m writing, I’m waiting. Not sure it’ll pass the checks, or if I’ll have to do more work on this. But just waiting to see!