This wasn’t especially difficult, but it was a little tedious to track down.
I’ve relied on a handy little build phase script (I wish I remember where I found it) for automating build numbers from git commits for iOS apps since Apple gave us access to TestFlight via iTunes Connect. This same script didn’t work for my Apple Watch app as I anticipated, so it took a little bit to work out the kinks for AppStore submission.
It boils down to this
- Set the build number = the number of git commits on the branch.
- Change the Info.plist build numbers for the iOS app target, the Watch App target, and the Watch Extension target. This is done in a script build phase before the “Copy Bundle Resources” phase.
- Reset the Info.plist build numbers after all the build phases have run (another script build phase)
See the gist I posted for the complete script. Make sure to check the directory paths for the correct app name.