If you have jumped onto the band wagon that says beta on the side; you have also signed the certificate with a title that says “problems ahead”! I have indeed been on that wagon for some time as I’m currently running XCode 7.3.1 + XCode 8.0 at the same time on a Mac Sierrra OS (which is in beta for the time being).
Apple appearently only accept software that is built on a release version of their OS (El Capitan for now). This means, that you cannot build apps using (XCode 8.x or Mac Sierra) and expect the publishing process to go smoothly. You need to fiddle with stuff to make Apple believe you are indeed using a released OS (i.e. El Capitan).
So to downgrade the OS without uninstalling it - you need to “change the OS" to something that resembles a released OS as this value is presented to Apples servers during the submission process. Where do you change this OS version to publishing can function without problems? And where do you find a valid value for this setting?
Here is how:
You change the value here: /system/library/……/coreservices/systemversion.plist
What value is accepted (at the time of writing)?
If you log in to the developer portal - you will find the build number of the latest released OS here (the value us: 15G31)
To sum up the process:
- Change the system version in the systemversion.plist file to a valid value (15G31)
- Build your app using a valid XCode version (i.e. 7.3.1)
- Archive the app and export the .ipa to your local disk
- Here is the fun thing: I could only make the publishing process work if I published the app using the Application Loader coming with XCode 8.0!
This is what it takes to be allowed to publish your app to TestFlight using a mix of beta and release software.
Update: It turns out that also every single xib file (which is .xml) carries this very number embedded. Man, they are really keeping track of everything!