Teures Upgrade auf iOS 10.3

Vor ein paar Tagen hat es aber nun den verhängnisvolles Update für mein iPhone gegeben: das iOS 10.3 kam heraus, und ich Dummbatz musste es ja natürlich, ohne Rücksicht auf Verluste, installieren. Letztere könnten sich als die bis dato teuersten herausstellen.

Vertrauen fördert Fahrlässigkeit. Das kann ich glatt unterschreiben, denn mit dem neusten Update auf 10.3 gelangte ich nun in eine Vendor Sackgasse. Als Xcode Developer, der schön seine jährliche Lizenz zahlt, nehme ich an, dass ich auch die Tools von Apple solange ich zahle nutzen kann. Doch Pustekuchen.

Mit iOS 10.3 wird natürlich auch ein neues iTunes fällig, das das neue iOS erkennt und ein hübsches passendes Icon malt, wenn ich das Telefon koppel, um es z.B. zu synchroniseren. Ja, ich mach das noch oldschool per Kabel, ohne Wolke...

iTunes wurde für macOS Yosemite (v10.11) bereitgestellt, ich habe es heruntergeladen und war meines Lebens froh.

Einige Tage vergingen und ich fing wieder an Argh! Earthlings! zu entwickeln. Als ich dann mein iPhone mit iOS 10.3 nutzen wollte, um die neuste Version drauf zu spielen, wurde mir folgende Meldung präsentiert:

Could not locate device support files.

This iPhone 6s is running iOS 10.3 (14E277), 
which may not be supported by this version of Xcode.

Ach ja, klar. Ich muss ja auch Xcode aktualisieren... Komisch. Normalerweise meldet sich der App Store von ganz allein und weist mich auf die neue Version hin. Naja, ich schau gern mal vorbei und installiere Xcode 8.3 von Hand.

Also tat ich wie gedacht und klickte auf den "Updaten" Button im App Store. Das Ladesymbol rotierte fröhlich und ich dachte App Store rockt... doch während ich so wartete, und wartete und wartete... erblickten meine Augen einen kleinen, unwesentlichen, Vermerk von Apple zur Kompatibilität von Xcode mit dem macOS:

Kompatibilität:
macOS 10.12 oder neuer

Momentmal. Das Ding braucht ja ein neues macOS, denn auf meinem Mac Mini von 2009 läuft bis dato noch macOS Yosemite. Also noch eine Schleife drehen und erst einmal macOS auf Sierra (v10.12) anheben um Xcode 8.3 zu installieren, um Argh! Earthlings! auf meinem iPhone mit iOS 10.3 zu testen.

Doch dann erinnerte ich mich dumpf: Apple hat doch mit macOS Sierra (v10.12) Mac Minis aus 2009 ausgeschlossen. Zwar wirbt Apple im App Store von macOS immer noch damit, dass ich kostenlos ein macOS Upgrade auf meinem Mini 2009 machen darf, doch sobald ich dies versuche, wirft mir der App Store eine freche Fehlermeldung entgegen:

Dein Kauf konnte nicht abgeschlossen werden.
Diese Version von macOS 10.12.4 kann auf 
diesem Computer nicht installiert werden.

Na toll. Da wird mit mit dem Upgrade der Mund wässrig gemacht und dann das.

Sonmist! Jetzt muss ich, um mein Spiel auf dem iPhone mit 10.3 zu testen, Xcode 8.3 installieren. Um Xcode 8 zu installieren brauche ich macOS Sierra. Sierra läuft nur auf neuen Macs und nicht auf meinem Mac Mini. Und das, obwohl ich dem vor einiger Zeit eine SSD und 8GB RAM spendiert hab. Das Ding schnurrt wie ein Kätzchen, und ich wette, da läuft auch weiterhin Xcode 8.3 drauf oder Sierra...

Gut, mein Mac Mini 2009 ist schon 7,5 Jahre alt und er hätte ein Upgrade verdient, aber es gibt für mein derzeitiges Setup aktuell kaum Alternativen. Und wirklich, wer hat schon 1000 € cash mal eben für ein Upgrade?

Ich seh's auch irgendwie nicht ein, dem Mac Mini den Gnadenstoß zu verpassen, nicht für ein Software-Update.

Da muss also eine alternative Lösung her, wenn ich mein iPhone zusammen mit Xcode 8.2 auf meinem Yosemite nutzen will.

Versuch 1 - Offline-Installation

Als iOS Entwickler stehen mir die Downloads, wie das von Xcode 8.3 auch neben dem App Store zur Verfügung, und zwar als Offline-Installation: https://developer.apple.com/download/more/

Das Xcode 8.3 kommt in einem mir noch unbekannten xip-Fileformat daher, aber nach dem Download erkennt es macOS als Archiv und entpackt die 4.1 GB große Datei.

Trotz SSD braucht der Entpacker eine ganze Weile, bis die Dateien entblößt auf der Platte liegen... Zeit für eine Pause.

Nachdem aber die Xcode.app endlich zu sehen ist, fällt auf, dass Apple ganze Arbeit geleistet hat: Die App lässt sich nicht starten. Eine Message stellt mich vor vollendete Tatsachen:

Sie können diese Version des Programms „Xcode.app“ nicht 
mit dieser Version von OS X verwenden.

Auf Ihrem Computer ist OS X 10.11.6 installiert. 
Das Programm erfordert OS X 10.12 oder neuer.

Na toll. Danke Apple! Aber so leicht lass ich mich nicht einschüchtern.

Versuch 2 - Upgrade

Xcode.app ist ein macOS Programm. Als solches ist es auch ein "Packet" und man kann sich dessen "Paketinhalt zeigen" lassen.

Forscht man dann einwenig rum findet man unter Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport einen Ordner mit dem sehr vielversprechenden Titel 10.3 (14E269).

Was wäre, wenn man nun diesen Ordner in die Xcode.app verlinkt?

Achtung! Vor dem Eingriff sollte von der Xcode.app vorsichtshalber ein Backup angelegt werden.

Ich hab mal den kompletten Ordner 10.3 (14E269) nach /Applications/Xcode-Patch/10.3 (14E269)/ kopiert. Dann denselben per symbolischen Link in die bestehende Xcode.app hinein befördert:

sudo ln -s /Applications/Xcode-Patch/10.3\ \(14E269\)/ \
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

Nachdem ich nun Xcode geschlossen und erneut gestartet habe, begann es mit dem Processing der Symbol files. Ich habe es dennoch mit einem Start auf dem Telefon versuchen wollen, und erhielt prompt folgende Meldung:

iPhone is busy: Processing symbol files
Xcode will continue when iPhone is finished.

Also ist wieder Warten angesagt... Zeit, wieder neuen Kaffee zu brühen. Die Prozedur dauert evtl. sogar länger als der Kaffe braucht gebrüht zu werden... ich warte geduldig.

Finale

Die Warterei hat sich gelohnt. Nachdem Xcode seinen Job beendet hat, ist es Zeit auf "Run" zu klicken. Und... voila! Argh! Earthlings! läuft per Xcode 8.2 auf einem iPhone mit iOS 10.3.

Fazit

HA! Was nicht passt, wird passend gemacht.

Der symbolische Link auf eine 15 MB große Ressource aus Xcode 8.3 bewahrt mich (vorerst) von einer Investition von knapp 1000 € in neue Apple Hardware. Ich hoffe Apple bringt bald ein "Update" zum Mac Mini...

Ein Wermutstropfen

Zwar gibt es keinen iOS 10.3 Emulator-Support, aber das ist mir auch egal, solange ich auf dem Hardware Device testen kann.