23 August, 2016

Essential (developer) tools: A biased list – 2016 Mac version

I have been doing a collection of tools relevant to a life as a developer on .NET, but having recently swiched to Mac - here is the same (current) list as an XCode developer.
Development tools:

Quite a short list, but life in Mac world is simple (remember: simple != easy)

Publishing from Mac Sierra to TestFlight: problems

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!

iPhone/XCode - not all cases are equal!

This bit me! Having made some changes to an iPhone application (Obj-C); everything worked fine in the simulator. But, when deploying the s...