Entries tagged with

When you upload a new app to the App Store, Apple requires you to have a version and build id. Additionally, you are required to format them correctly, and also increment them properly. Xcode doesn’t do this for you automatically, so lots of people have tried to come up with automated version schemes. This is my approach.

Reiterate uses a backend server to coordinate its in-app purchases. The app and server communicate via a REST API. Here’s how I implemented that in Swift.

For the new in-app purchase flow, with on-demand resouorces, I needed to organize Reiterate’s products into separate bundles.

As part of the Acknowldgement update to Reiterate, I also took advantage of the rewrite to move the app’s core audio code to the new Swift async/await concurrency model.

Integrating the AVAudioEngine API into the rest of my app meant retooling some basic functionality, like saving .wav files.