For this past week, I didn’t even plan a sprint for Toy Factory Fixer, thinking that I would “just” publish this update and move on to finally porting Toytles: Leaf Raking to the desktop. Thanks to Apple and SDL2_image/_mixer/_ttf updates, it turned out that publishing an update for iOS wasn’t as straightforward as I was hoping.
Sprint 73: iOS update
Unplanned and Incomplete:
- Create updated SDL2 libraries for iOS
I have been working on automating as much of my builds as I could for years, and so I anticipated that creating a new release of my existing project should have been almost no work at all, so I didn’t bother actually planning to make time for it.
And I was almost right. On Monday I was able to create a Linux and Windows update fairly quickly using my build scripts, and those updates are available on itch.io at https://gbgamesllc.itch.io/toy-factory-fixer.
I was even able to quickly build an Android version and submit it to Google Play for review, which is taking a surprisingly long time to get approved, but it was out of my hands also on Monday.
In any case, that’s three platforms I was able to quickly create a new update for.
Then, I tried to do the same for iOS.
But libSDL2, libSDL2_image, libSDL2_mixer, and libSDL2_ttf all had fairly substantial updates and I wanted to make use of the latest versions.
Well, libSDL2 builds fine, but the other three eliminated their Xcode-iOS projects, so now the only project available is Xcode, which…ok.
But it meant that a straightforward update to Toy Factory Fixer turned into a week of trying to refigure out how to build the project for iOS.
When I tried to build libSDL2_image, for instance, I used the following command:
xcodebuild -scheme "Static Library" -configuration Release -sdk iphoneos SKIP_INSTALL=NO BUILD_DIR=build/SDL2_image-iphoneos
And I got the following error:
error: ApplicationServices is not available when building for iOS. (in target 'Static Library' from project 'SDL_image')
ApplicationServices is a Mac-specific framework, which means that libSDL2_image was trying to build itself using a Mac build configuration.
It is entirely possible that I am trying to build this library incorrectly, and I couldn’t figure out how to use configure/make to more easily specify that it is supposed to be an iOS project.
Eventually, by the end of the week, I found that someone else was having issues with building the libraries and having a slightly different but similar problem.
And that’s when someone pointed out to me that the latest Xcode project updates for SDL2 require Xcode 13. I was still using Xcode 12.
And in order to upgrade to Xcode 13, I needed to finally stop putting off upgrading from Mac OS Catalina.
On top of it all, I needed to do these upgrades anyway, because the App Store requires any new submissions to be done using Xcode 13 anyway.
So I ended my week upgrading from Catalina to Monterey, which looked a little stuck at one point but finished relatively quickly, and then upgrading Xcode which took relatively forever.
Seriously, I don’t understand how long it could possibly take so long to install an Apple-official development IDE on an Apple-official OS. You literally just put files onto the machine, right? I mean, even if it is gigabytes worth of files, what was it doing for hours? From experience, I knew to check to see if it was hiding a dialog box somewhere waiting for me to click Accept or login or something, but I couldn’t find any such thing. I just had to wait.
And by the time it was finished, I ran out of time to take advantage of the upgrades and/or see what changes Apple made that would break my process and build scripts, but I think that since the Github issue was closed recently it means someone else was able to successfully build the libraries just fine, so I hope all will be well with my progress early this coming week.
And if all goes well, then I hope the iOS and Mac updates will get released quickly, so I can finally, finally work on porting Toytles: Leaf Raking leveraging all of this work, too.
Thanks for reading!
Want to learn when I release updates to Toytles: Leaf Raking, Toy Factory Fixer, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and get the 19-page, full color PDF of the Toy Factory Fixer Player’s Guide for free!