Upgrade von Xcode 8 auf 9 unproblematisch?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Upgrade von Xcode 8 auf 9 unproblematisch?

    Ich habe momentan einige Xcode-Projekte, an denen ich immer mal wieder weiterentwickle. Größtenteils ObjC only, teilweise Projekte mit ObjC und Swift 3.2. Jetzt möchte ich Audiokit for iOS ausprobieren, bekomme es aber unter Xcode 8.2.1 nicht zum Laufen, da das Framework mit Swift 4 kompiliert ist. Das bedeutet wohl, ich müsste erst OSX 10.11 auf Sierra updaten und dann Xcode auf V9.

    Meine Frage: Laufen meine Projekte (der Knackpunkt ja Swift 3.2 und nicht Objective C) problemlos direkt mit Xcode 9 oder muss mich auf mehrere Tage lang Fehlersuche einstellen (wofür ich momentan weder Zeit noch Nerven habe - ich möchte ja nur das Audio-Framework ausprobieren :) )? Davon mal abgesehen bringt Xcode 9 so viele Neuerungen (Debugging über WLAN, Swift-Refactoring), auf die ich mich freue... aber davor, dass ich ohne viel Zeitaufwand meine Projekte kompilieren kann, habe ich etwas Angst.

    Es gibt ja den Migrations-Assistent zu Swift 4 ... aber - muss ich migrieren um weitermachen zu können ... oder kann ich es nur, zu einem Zeitpunkt meiner Wahl?

    Kann mir jemand was dazu sagen?

    Viele Grüße
  • Zur Versionsnummer: Swift 3.2 ist der Swift-3-Kompatibilitätsmodus des Swift-4-Compilers. Die letzte Swiftversion vor Xcode 9, also Xcode 8.3.3, war Swift 3.1.1.

    Der neue Swift-4-Compiler in Xcode 9 kann jetzt erstmalig zwei verschiedene Swiftversionen, hier also 3 und 4, parallel handhaben. D.h., daß man z.B. eine App in Swift 4 entwickeln kann und gleichzeitig eingebettete Frameworks in Swift 3 verwenden kann. Jetzt kann man also größere modulare Projekte Stück für Stück migrieren. Beim Umstieg von 2 auf 3 mußte noch zwingend alles auf einmal erfolgen.

    Wenn Du auf macOS Sierra und Xcode 9 upgradest, kannst Du also alle Deine Projekte weiter vorerst bei Swift 3 belassen, wenn Du willst.

    Der Umstieg von Swift 3 auf 4 ist wesentlich sanfter als der letzte von 2 auf 3. Beim letzten Umstieg blieb kaum eine Codezeile unberührt. Diesmal sind eigentlich nur 'wenige Expertenbereiche' betroffen…

    M.M.n. lohnt sich das Upgrade auf Xcode 9 auf jeden Fall.
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • torquato schrieb:

    Der neue Swift-4-Compiler in Xcode 9 kann jetzt erstmalig zwei verschiedene Swiftversionen, hier also 3 und 4, parallel handhaben. D.h., daß man z.B. eine App in Swift 4 entwickeln kann und gleichzeitig eingebettete Frameworks in Swift 3 verwenden kann. Jetzt kann man also größere modulare Projekte Stück für Stück migrieren. Beim Umstieg von 2 auf 3 mußte noch zwingend alles auf einmal erfolgen.
    Das ist in der Theorie, stimmt bei mir leider nur halb. Man muss dabei halt bedenken, dass die Swift 3 Frameworks auch mit Xcode 9 zu builden sind. In unserem Fall werden die Frameworks bisher aber auf dem Buildserver mit Xcodee 8.3.3 erstellt - das lässt sich auch nicht mal eben so ändern - und sind damit inkompatibel zu Swift 3.2, respektive Xcode 9. Da hatte ich mir etwas mehr Weitsichtigkeit von Apple erhofft, diese Kompatibilität auch vollständig zu realisieren....
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • DBocksteger schrieb:

    torquato schrieb:

    Der neue Swift-4-Compiler in Xcode 9 kann jetzt erstmalig zwei verschiedene Swiftversionen, hier also 3 und 4, parallel handhaben. D.h., daß man z.B. eine App in Swift 4 entwickeln kann und gleichzeitig eingebettete Frameworks in Swift 3 verwenden kann. Jetzt kann man also größere modulare Projekte Stück für Stück migrieren. Beim Umstieg von 2 auf 3 mußte noch zwingend alles auf einmal erfolgen.
    Das ist in der Theorie, stimmt bei mir leider nur halb. Man muss dabei halt bedenken, dass die Swift 3 Frameworks auch mit Xcode 9 zu builden sind. In unserem Fall werden die Frameworks bisher aber auf dem Buildserver mit Xcodee 8.3.3 erstellt - das lässt sich auch nicht mal eben so ändern - und sind damit inkompatibel zu Swift 3.2, respektive Xcode 9. Da hatte ich mir etwas mehr Weitsichtigkeit von Apple erhofft, diese Kompatibilität auch vollständig zu realisieren....
    Na ja, das Swift noch arge Kompatibilitätsprobleme zwischen den einzelnen Versionen hat, war ja nun kein Geheimnis. Insofern müsst ihr euch vielleicht auch die Frage gefallen lassen, wie weitsichtig ihr wart, schon so früh auf Swift zu setzen.
  • DBocksteger schrieb:

    torquato schrieb:

    Der neue Swift-4-Compiler in Xcode 9 kann jetzt erstmalig zwei verschiedene Swiftversionen, hier also 3 und 4, parallel handhaben. D.h., daß man z.B. eine App in Swift 4 entwickeln kann und gleichzeitig eingebettete Frameworks in Swift 3 verwenden kann. Jetzt kann man also größere modulare Projekte Stück für Stück migrieren. Beim Umstieg von 2 auf 3 mußte noch zwingend alles auf einmal erfolgen.
    Das ist in der Theorie, stimmt bei mir leider nur halb. Man muss dabei halt bedenken, dass die Swift 3 Frameworks auch mit Xcode 9 zu builden sind. In unserem Fall werden die Frameworks bisher aber auf dem Buildserver mit Xcodee 8.3.3 erstellt - das lässt sich auch nicht mal eben so ändern - und sind damit inkompatibel zu Swift 3.2, respektive Xcode 9. Da hatte ich mir etwas mehr Weitsichtigkeit von Apple erhofft, diese Kompatibilität auch vollständig zu realisieren....
    Praxis heißt die häßliche Schwester von Theorie. :S

    Die Weitsicht ist durchaus da – soweit ich das beurteilen kann. Es dürfte hier an der noch immer fehlenden ABI-Stabilität hapern. Wurde schon zweimal verschoben. Sie wollen es halt gerne 'richtig' machen. Von der Anwenderseite aus kriegt man das nicht so mit, aber für einen Compilerbauer ist es eine Tortur, die nächsten 20 Jahre immer Scheiße an den Hacken mitzuschleppen. Sorry, wenn ich das so salopp formuliere.
    In Swift spielt da z.B. das generische Typsystem ein große Rolle, und das ist immer noch nicht ganz durchgerbeitet…

    Bleibt diesbezüglich nur auf Swift 5 zu hoffen, so daß wir da endlich mal klar Schiff haben…

    Wie dem auch sei. Hab' Dank für den Praxisabgleich.^^
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • macmoonshine schrieb:

    torquato schrieb:

    Bleibt diesbezüglich nur auf Swift 5 zu hoffen, so daß wir da endlich mal klar Schiff haben.
    Das erinnert mich irgendwie gerade an die Schönheitsoperationen in Brazil. ;)
    LOL :D

    Ja, aber da zeigt sich doch gerade, wie verheerend es sein kann, wenn anfänglich aus 'Tuttle' plötzlich ein 'Buttle' wird, und wie unmöglich es ist, in der restlichen Zeit diesen Fehler wieder zu 'korrigieren'… :P
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?