Die diesjährigen WWDC-Ankündigungen konzentrierten sich auf die aufregenden neuen SDKs, wie z. B. ARKit, und die Änderungen an iOS 11. Apple hat jedoch auch Xcode mit Xcode 9 erheblich verbessert. Die anderen Ankündigungen, die neue Version von Xcode, dürfen jedoch nicht übertroffen werden ist ein Sprung nach vorne für Programmierer. Die Entwickler sind sicher glücklich!
In den diesjährigen Verbesserungen enthalten:
Sicherlich ist dies eine sehr aufregende Liste von Änderungen, also gehen wir sie einzeln durch, beginnend mit Swift 4.
Swift entwickelt sich Jahr für Jahr stetig weiter, und in diesem Jahr unterstützt Xcode die neueste große Swift-Version Swift 4. Während die neueste Open-Source-Version nicht so groß ist wie die Vorgängerversionen, hat Xcode 9 den Prozess sogar noch verbessert bequemer.
Für den Anfang bietet Xcode 9 nun die Möglichkeit, sowohl Swift 4.0- als auch Swift 3.2-Ziele gleichzeitig zu kompilieren. Dies bedeutet, dass Sie als Entwickler wählen können, Ihr Projekt schrittweise zu migrieren und nicht alle auf einmal. Außerdem können Sie Ihre Projektziele in beide schreiben die neueste oder vorherige Sprachversion.
Der Compiler von Xcode 9 kann beide Versionen verstehen und fordert Benutzer nun über den Xcode-Migrationsassistenten auf, herauszufinden, welche Ziele auf Version 4.0 migriert werden sollen.
Tatsächlich wertet Xcode 9 Ihren Code aus und bietet Einblick in den Compliance-Status und die Best Practices für die Projektmodernisierung Editor> Bestätigen Menüoption.
Als Nächstes erhält Xcode 9 einige Verbesserungen an der IDE selbst - insbesondere an den Komponenten Project Navigator und Source Editor. Begonnen wird mit einer schnelleren Indizierungs-Engine, die Ihre Suchfähigkeit beschleunigt und schneller Ergebnisse liefert.
Entwickler können eine große Codebasis suchen und sofort Ergebnisse erhalten, da das Indexierungsmodul jetzt auch Dateien beim Kompilieren indiziert, während Dateien, die sich im Kompilierungszustand befinden, zuvor nicht indiziert wurden. Dies gibt Entwicklern die Möglichkeit, schnell und nahtlos zwischen verknüpften Projekten und Bibliotheken zu suchen und Dateien zu durchsuchen. Dies ist ein willkommener Vorteil, insbesondere wenn Sie mit CocoaPods und Arbeitsbereichen für mehrere Projekte arbeiten.
Der Editor selbst wurde ebenfalls neu erstellt und ermöglicht so, wie Apple sagt, einen „schnellen strukturbasierten Editor, mit dem Sie Ihren Code intelligent hervorheben und navigieren können“. Dies bedeutet eine neue Hervorhebungs-Engine, die logisch gruppierte Blöcke besser erkennt und Ihnen intelligente Werkzeuge für die Navigation zwischen verwandten Teilen Ihrer Codebase bietet.
Xcode bietet Entwicklern nicht nur die Möglichkeit, problemlos von Klasse zu Klasse oder von Methode zu Methode zu navigieren, sondern bietet auch eine brandneue Refactoring-Funktion. Das Refactoring-Tool bietet einen modalen Editorbereich, in dem alle möglichen Änderungen beim Extrahieren und Refactor von Swift-Methoden verglichen werden. Dies macht das Refactoring auch zwischen Swift- und Objective-C-Methoden einfach.
Sie können jetzt Symbole aktualisieren, Getter und Setter ändern, iVars synthetisieren und obligatorische Protokollmethoden für die Konformität mit einem einzigen Klick automatisch ausfüllen.
Andere kleinere Verbesserungen beinhalten die native Unterstützung für Markdown-Dateien (mit Markdown-Stilen gerendert) im Editor. Diese Verbesserung ist angesichts der tieferen Integration von Xcode in GitHub sinnvoll, und es ist hilfreich, darauf zugreifen zu können README.md Dateien visueller im Editor.
Xcode 9 bietet auch neue iOS Playground-Vorlagen, die Sie nicht nur in Xcode, sondern auch in Swift Playgrounds für iPad testen können!
Es ist auch eine kleine Verbesserung, aber der Editor ermöglicht es Benutzern jetzt, die Schriftgröße des Editors mit Hilfe von macOS zu erhöhen oder zu verringern ⌘+ oder ⌘- Verknüpfungen.
Eine weitere kleine Verbesserung besteht im Erstellen, Umbenennen und Löschen von Gruppen im Projektnavigator. Änderungen an einer Gruppe werden jetzt im zugehörigen Ordner angezeigt. Dadurch wird die Konsistenz der Benennung sichergestellt und Ärger vermieden, den viele Entwickler mit der Funktionsweise von Xcode und den Dateisystemordnern hatten.
Durch Verbesserungen des Asset-Katalogs von Xcode wird schließlich auch der neue offene HEIF-Image-Standard unterstützt, der Bestandteil von iOS 11 ist.
Eine der bemerkenswertesten Verbesserungen von Xcode war das integrierte Source-Control-Management, das bisher vernachlässigt wurde. Anstelle des vorherigen halbgebackenen SCM, der sich nie wirklich als Teil von Xcode fühlte, enthält Xcode 9 jetzt eine komplett überarbeitete SCM-Integration.
Mit einem neuen, nahtlos integrierten SCM-Navigator erhalten Sie auch leistungsfähigere Möglichkeiten, mit Verzweigungen und Tags zu arbeiten. Darüber hinaus bietet Xcode eine umfassende Integration mit GitHub, mit der Sie Ihr Konto direkt über die Xcode-Einstellungen verwalten, GitHub-Repositorys mit einem einzigen Klick erstellen und öffentliche Repos im Editor durchsuchen können.
Weitere Informationen zu den neuen SCM-Funktionen in Xcode 9 finden Sie in unserem Posting Was ist neu bei Git Support in Xcode 9.
Um nicht im Stich gelassen zu werden, hat Debugging auch in Xcode 9 viel Aufmerksamkeit erhalten. Wir beginnen mit einem Blick auf die Neuerungen in Xcode Simulator.
Beim Starten von Xcode Simulator konnten Sie bisher immer nur einen Simulator starten. Wenn Sie also auf mehreren Gerätetypen testen müssten, müssten Sie diese nacheinander ausführen. Dies machte das Testen langsamer, sei es für manuelle oder automatisierte Tests.
Dies hat sich in Xcode 9 geändert. Entwickler können zum ersten Mal mehrere Simulatoren gleichzeitig ausführen. Mit automatisierten Test-Tools können jetzt Tests parallel ausgeführt werden.
Es gibt noch ein paar kleinere, aber nützliche Verbesserungen am Simulator, die Apple eingeführt hat. Zum einen können Sie die Wahltaste gedrückt halten, um das Simulatorfenster zu schließen, es jedoch im Hintergrund laufen zu lassen. Sie können Simulator auch über die Befehlszeile starten, was für automatisierte Test- und Bereitstellungswerkzeuge hilfreich ist.
Entwickler können auch Videos von Simulatoren aufnehmen und Screenshots erstellen, was für die Veröffentlichung im App Store nützlich ist.
Nicht zuletzt müssen Entwickler, die vom Simulator zum Testen auf realen Geräten wechseln, ihre Geräte nicht mehr physisch anschließen. Apple ermöglicht es Entwicklern jetzt, drahtlos das Kabel abzutrennen und iOS- und Apple TV-Geräte zu debuggen, mit der Funktion Network Debugging.
Ein neues eigenständiges Debugging-Programm, das Apple zusammen mit Xcode 9 eingeführt hat, kann Main Thread Checker die nichtkonforme Verwendung bekannter SDKs wie AppKit und UIKit anhand eines Hintergrundthreads erkennen. Zum Beispiel könnten Entwickler verwenden UITableView
Aktionen im Hintergrund-Thread, die zu ungewöhnlichen visuellen Effekten und fehlerhaften Aktualisierungen führen können. Der Haupt-Thread-Checker ist standardmäßig aktiviert und kann über den Schema-Editor konfiguriert werden.
Xcode 9 verfügt jetzt über integrierte Xcode Server-Bots und -Standards, so dass Entwickler keine Installation von macOS Server vornehmen müssen. Dies bedeutet, dass Entwickler Xcode Server-Bots auf jedem Computer ausführen können und die Best Practices für die kontinuierliche Integration nutzen können.
Die Entwickler haben im Laufe der Jahre schrittweise Änderungen und Verbesserungen an Interface Builder (IB) vorgenommen, wobei das Rendering der Bildschirme ständig verbessert wurde. Xcode 9 verfeinert IB weiterhin, indem UI-Komponenten auf der Leinwand genauer dargestellt werden. Verbesserte Komponenten umfassen Navigation, Registerkarte und die Symbolleisten.
Eine weitere neue Funktion ist, dass Xcode und IB Entwickler jetzt warnen, wenn Sichteinschränkungen Lokalisierungsprobleme verursachen könnten. Sie werden beispielsweise benachrichtigt, wenn eine Ansichtsänderung dazu führen kann, dass Wörter in einer anderen Sprache wie Deutsch abgeschnitten oder abgeschnitten werden. Dies wird sicherlich viel Zeit für Entwickler sparen, die mehrere Sprachen unterstützen.
Apropos Layouts: Interface Builder unterstützt jetzt auch die Hilfslinien für den sicheren Bereich des automatischen Layouts. Diese Hinweise helfen Entwicklern beim Anordnen von Oberflächenelementen. Dadurch werden die obere und untere Layout-Anleitung in früheren Xcode-Versionen nicht mehr unterstützt.
Die neueste Version von Xcode bietet eine Vielzahl neuer Funktionen, die die Produktivität der Entwickler verbessern. Neben der Ankündigung von Swift 4 macht Xcode die Migration von Swift 3.2 auf die neueste Version dank der Unterstützung der schrittweisen Migration noch viel schmackhafter. Xcode hat auch zeitnahe und bemerkenswerte Geschwindigkeitsverbesserungen bei der Suchindexierung erhalten und einen komplett überarbeiteten Editor, der kontextabhängiger ist, mit neuer Unterstützung für das Refactoring.
SCM wurde jetzt zu einem erstklassigen Bürger gemacht, sodass Entwickler nicht mehr zwischen Xcode und einem SCM-Editor eines Drittanbieters wechseln müssen, um ihre Anforderungen an das Git-Management zu erfüllen. Der Simulator hat von einigen der bemerkenswertesten Verbesserungen profitiert, mit der Möglichkeit, mehrere gleichzeitige Simulatoren auszuführen, um mehrere Geräte schneller zu testen, und außerdem die Möglichkeit, drahtlos das Kabel abzutrennen und auf physischen Geräten zu debuggen.
Während iOS 11 dank seiner aufregenden neuen SDK-Funktionen die Entwicklergemeinde belebt hat, bietet Xcode 9 das perfekte Entwicklungsinstrument, um seinen Benutzern Innovationen zu bieten. Bleiben Sie dran für einige praktische Übungen zur Verwendung der neuen iOS-SDKs. Schauen Sie sich auch unsere anderen Beiträge zur iOS-App-Entwicklung an!