Swift und Xcode auf dem Mac

Veröffentlicht in: ,

Erste Schritte mit der Programmiersprache Swift und dem Editor Xcode auf dem Mac

Swift, eine von Apple entwickelte Programmiersprache, dient zur Erstellung von Apps für die Betriebssysteme macOS, iOS, iPadOS, watchOS und tvOS. Obwohl Swift auch für Windows und Linux verfügbar ist, empfiehlt sich ein Mac, insbesondere für die Entwicklung von grafischen Benutzeroberflächen.

Apple – Swift

Swift ist kostenlos und Open Source. Auf dem Mac ist außer der IDE Xcode keine zusätzliche Installation erforderlich.

Apple stellt ein Handbuch zur Verfügung. Das Buch The Swift Programming Language kann kostenlos aus dem iBooks Store geladen werden.

Zusätzlich finden Sie eine ausführliche Dokumentation auf der Seite swift.org und eine tour durch grundlegende Syntax und Funktionen „A Swift Tour“.

Swift und SwiftUI

Swift wird durch das Framework SwiftUI ergänzt. SwiftUI ist eine Sammlung von Tools, die speziell zur Erstellung von Benutzeroberflächen für Apple Betriebssysteme entwickelt wurden. Swift hingegen ist eine allgemeine Programmiersprache, mit der alle Arten von Anwendungen erstellt werden können. Swift bildet sozusagen das Grundgerüst, während SwiftUI für die grafische Gestaltung zuständig ist.

Xcode

Xcode ist Apples Integrierte Entwicklungsumgebung zum Programmieren von Swift und SwiftUI. Neben einem Editor zum Schreiben von Code bringt die IDE alle erforderlichen Tools (SDK) mit. um Projekte und Dateien verwalten. Programme kompilieren und in einem Simulator testen ist direkt aus der IDE heraus möglich.

Mit der Installation von Xcode, das kostenlos über den Mac-Appstore erhältlich ist, werden auch gleich alle erforderlichen Werkzeuge, Compiler und Bibliotheken eingerichtet.

Erste Schritte

Eine Einführung zu Xcode in englischer Sprache bietet die Seite Apple Developer

Nach dem Öffnen von Xcode führt ein Assistent den Benutzer durch die Schritte zum Öffnen eines bestehenden Projekts oder zum Erstellen eines neuen Projekts. Ggf. werden zuvor noch fehlende Tools nachinstalliert.

Xcode: Auswahl einer Plattform.

Für einen ersten Test ist es erforderlich, ein Projekt anzulegen, analog zur Vorgehensweise in der Programmiersprachen Java. Eine einzelne Swift-Datei ist nicht ausreichend. Alle notwendigen Dateien und die Projektstruktur werden automatisch generiert.

Sollte der Willkommens-Bildschirm nicht angezeigt werden, stehen Ihnen alle Optionen über das Menü „Datei > Neu > Project“ zur Verfügung.

Xcode Start-Fenster

Beim Erstellen eines neuen Projekts müssen Sie zunächst ein Template auswählen. Ein Template enthält alle Komponenten für ein vollständiges, ausführbares Programm, einschließlich Dateien und Projektstruktur.

In der oberen Leiste wählen Sie das Betriebssystem, für das Sie die App erstellen möchten. Über die Icons wählen Sie die Art der Anwendung. Für den Anfang ist die Option „App“ die richtige Wahl. Die meisten Tutorials für Einsteiger konzentrieren sich auf die Entwicklung von Apps für iOS.

Xcode: Wahl eines Projekt-Templates.

Im nächsten Schritt vergeben Sie einen Namen für das neue Projekt. Sie können „Team“ zunächst auf „None“ belassen. Für „Organization Identifier“ reicht ein Platzhalter wie z.B. „com.example“. „Interface“ und „Language“ sind bereits vorgegeben. „Storage“ gibt an, wo später Daten des Benutzers gespeichert werden sollen. Dies können Sie zunächst ebenfalls auf „None“ belassen.

Organization Identifier – Dies ist eine Reverse-DNS-Zeichenfolge zur Identifizierung Ihrer Organisation. Bevor Sie eine App im Appstore veröffentlichen, müssen sie eine solche Unternehmenskennung haben und den Identifier entsprechend ersetzen.

Organisationsname – Dies ist der Name, der in allen Textbausteinen in Ihrem Projektordner erscheinen wird. Dieser Name ist nicht identisch mit dem Namen, der im App Store für Ihre App erscheint.

Beide Kontrollkästchen können deaktiviert werden oder bleiben.

Xcode: Metadaten für ein projekt festlegen.

Und schon ist ein erstes Programm entstanden! Im Beispiel unten für den Mac. Im unteren Fensterbereich wird eine Vorschau angezeigt mit der Ausgabe des obligatorischen „Hello, World!“

Die linke Seitenleiste enthält den „Navigator“, der Zugriff auf die Projektdateien ermöglicht.

Die rechte Seitenleiste zeigt den Inspector, der unter anderem Detailinformationen und die Möglichkeit zur Bearbeitung von Programmteilen bereitstellt.

Der mittlere Bereich ist der Editor, darunter befindet sich die Vorschau (Canvas).

Die Programmoberfläche mit dem Editorbereich in der Mitte uns Seitenleisten an beiden Seiten, unterhalb des Editors die Vorschau.

Um mehr Platz für den Code im Editor zu schaffen, können Sie die Seitenleisten durch einen Klick auf die nachstehende Schaltfläche einklappen:

Symbol der Schaltfläche

oder die Tastenkombination cmd + 0 für den Navigator und opt + cmd + 0 für den Inspector, alternativ auch über das Menü „View“.

UI Textgröße

Die Textgröße der Benutzeroberfläche lässt sich über das Menü Xcode > Settings > Allgemein anpassen. Im Bereich des Navigators (der linken Seitenleiste mit dem Dateibaum) können Sie mit der Option „Navigator Size: Large“ eine größere Anzeige wählen.

Für eine bessere Übersicht über die Dateien können Sie die Dateiendungen mit der Option „File Extensions: Show All“ einblenden.

Xcode: Navigator anpassen

Themes

Unter dem Menüpunkt „Themes“ finden Sie verschiedene Themen zur Auswahl. Jedes Thema kann individuell farblich angepasst werden, indem Sie eine lokale Kopie erstellen. Sie können auch die Schriftart und die Schriftgröße wählen. Auf dem Screenshot sehen Sie das Thema „Civic“ mit der Schriftart „SF Mono Regular“ und einer Schriftgröße von 23 pt.

Xcode: Einstellungen für das Theme, Wahl von Schriftart und Schriftgröße.

Gut eignen sich auch die Presentation-Themes, sie haben bereits größeren Text und sind etwas kontraststärker:

Xcode: Einstellungen für das Theme

Für jedes Thema kann auch die Schrift des Terminals (Console) angepasst werden.

Xcode: Einstellungen für das Theme

Im Editorbereich können Sie den Text mit den Tastenkombinationen

cmd + Plus-Taste bzw. Minus-Taste oder Bindestrich

vergrößern und verkleinern.

Weitere Anpassungsmöglichkeiten gibt es nicht, sodass einige Bereiche recht klein bleiben. Im Screenshot unten die Ansicht für die Grundeinstellungen eines Projekts.

Xcode Screenshot: die Grundeinstellungen eines Projekts.

Alle Elemente von Xcode sind sehr gut mit den Bedienungshilfen zugänglich. So können Sie sich beispielsweise in der App-Konfiguration im Screenshot oben alle Optionen und Symbole mit schwebendem Text vergrößert anzeigen und vorlesen lassen.

Alternativ können Sie, wie überall auf dem Mac, die Bildschirmlupe verwenden. Diese aktivieren Sie, indem Sie bei gedrückter ctrl-Taste mit zwei Fingern auf dem Trackpad nach oben streichen. Die Funktion muss jedoch über die Bedienungshilfen gesondert aktiviert sein.

Sowohl das Vorlesen mittels „Gesprochene Inhalte“ als auch mit VoiceOver funktioniert in allen Bereichen.

matching braces – Klammernpaare

Zusammengehörende Klammern finden:

Bewegt man den Cursor hinter eine öffnende oder schließende Klammer, so wird die zugehörige Klammer kurzfristig (für eine Sekunde) farbig hervorgehoben. Die Dauer der Hervorhebung reicht aber nicht aus, um die zweite Klammer in längeren Abschnitten und bei erhöhter Textgröße zu finden.

Abhilfe schafft die Markierung des Abschnittes:

  • Doppelklicken auf eine Klammer bewirkt eine Hervorhebung des gesamten vom Klammerpaar umschlossenen Bereiches,
  • hat man auf diese Weise den gesamten Bereich hervorgehoben, so kann man mit der rechten oder linken Pfeiltaste zur jeweils entsprechenden anderen Klammer springen,
  • den Bereich „zusammenfalten“: mit dem Cursor hinter der öffnenden Klammer und der Tastenkombination opt + cmd + <- (Option + Command + Pfeil-links) und mit Pfeil-rechts wieder entfalten.

Shortcuts

Viele Tastenkombinationen beschleunigen die Arbeit im Editor – einige Beispiele:

neue Datei erstellencommand + N
Vorschau anzeigenoption + command + P
Quick-Helphold option + click variable
Block-Commentcommand + ß
Canvas einblendenoption + command + Enter
Quick Actionscommand + Shift + A
Navigator ein- und ausblendencommand + 0
Inspector ein- und ausblendencommand + opt + 0

Alle Befehle und deren Key Bindings können Sie auch über die Menüleiste ausfindig machen, Eine Übersicht bietet „Quick Actions“ über die Tastenkombination

cmd + Shift + A

Die Optionen für Kommentare und Formatierung sind unter dem Menüpunkt „Editor“ angeordnet. Ein schneller Weg einen Befehl zu finden ist der Menüpunkt Hilfe: tippt man die Anfangsbuchstaben des Befehls dort ein, schlägt Xcode passende Befehle vor und zeigt den Weg dorthin.

Xcode Quick Actions: ein Suchfeld, darunter dreipassende Vorschläge zum Suchbegriff.
Xcode: Suche über das Menü Hilfe. im Suchfled der Begriff "comment", darunter entsprechende Vorschläge.

Canvas – Vorschau

Im rechten oder auch im unteren Bereich des Editors kann eine Vorschau eingeblendet werden. Die Option „Canvas“ aus dem Menü „Editor“ muss mit einem Haken versehen sein. Die Vorschau zeigt die Ausführung des erstellten Programms auf dem zuvor gewählten Gerät. Alle aktuellen Änderungen am Code werden unmittelbar angezeigt.

Xcode mit Vorschau auf dem IPhone-Simulator.

Über die Schaltflächen unten rechts vergrößert man die Darstellung oder setzt sie wieder auf eine passende Größe zurück. Tastenkombinationen oder Gesten funktionieren im Preview für Iphones leider nicht. Im Preview für einen Mac aber schon, auf dem Trackpad mit zwei Fingern auseinander oder zusammen ziehen. Über das Menü „Editor > Canvas > Zoom Canvas“ lässt sich eine Vergrößerung verschiedener Stufen bis 400% auswählen.

Xcode mit Programmcode im Editor und der zugehörigen Vorschau für den Mac im rechten Bereich.

Simulator

Zusätzlich zum Preview können Sie ihr Programm in einem Simulator für das jeweilige Gerät testen. Über die dreieckige Schaltfläche am oberen Editorrand, per Shortcut cmd + R oder über das Menü „Product > Run“ startet man ihn.

Simulator für Mac-Programme: Ein Programm-Fenster, in der Mitte der Schriftzug "Hello World", darüber eine Grafik.

Die Tastenkombination cmd + Q schließt den Simulator.

Playground

Ein Xcode- Playground ist eine Test-Umgebung in der Sie Code schreiben und ausführen können. Das Ergebnis wird unmittelbar angezeigt. Ein Playground eignet sich nicht nur zum Lernen, sondern auch generell zum Ausprobieren von Swift-Code und zum Erstellen kurzer Dokumentationen.

Die Option zum Erstellen eines Playgrounds wird im Willkommensfenster nicht mehr angezeigt, man erreicht sie über das Menü „File > New > Playground“ oder die Tastenkombination

opt + cmd + Shift + N

Xcode: Auswahl eines Playground-Templates.

Anschließend wählt man ein Template und speichert den Playground über „Next“,

Man erhält dann ein neues Fenster mit einem kleinen „Hello world“- Programm, das auch gleich über das Dreieck-Symbol bei den Zeilennummern gestartet werden kann.

Xcode Playground, mit einem ersten Programm

Die Programm- Ausgabe in der Seitenleiste:

Xcode Playground, mit einem ersten Programm und der Textausgabe rechts.

Mit zusätzlichen Playgrondseiten kann man den Lerninhalt nach Themen gliedern. Eine neue Seite erstellen Sie über „File > New > Playground Page“ (opt+ cmd + N).

Eine neue Playground-Seite erstellen, Ansicht des Explorer-Bereichs mit der Projektstruktur.

Neue Seiten können beliebig benannt und auch sortiert werden.

Die Ordner Sources und Resources

Beide Ordner existieren auf der Ebene des Playgrounds selbst, deren Inhalt steht für alle Playground-Seiten zur Verfügung. Zusätzlich hat jede Seite einen eigenen Sources- und Resources-Ordner.

Sources ist für unterstützenden Swift-Quellcode gedacht, der für den Playground oder nur für die einzelne Seite verfügbar sein soll. Resources für Ressourcendateien wie Bilder, Plists, etc. , je nach Ordner für den Playground oder für die Seite.

Dokumentation

Eine Playground-Page kann man verwenden, um Text mit Markdown-Syntax zu verfassen und damit z.B. eine kurze Dokumentation oder ein Tutorial zu erstellen.

Dazu stellen Sie dem eigenen Text zwei Schrägstriche, gefolgt von einem Doppelpunkt voran:

//: 

Dann sollte zunächst eine Überschrift folgen und der weitere Text.

//: # Introduction

Über das Menü „Editor > Show Rendered Markup“ können Sie eine Vorschau anzeigen lassen und auch wieder zurück wechseln.

Wer möchte, legt eine eigene Tastenkombination hierfür im Menü „Settings > Key Bindings“ an.

Xcode: eine eigene Tastenkombination erstellen.

Vorschau mit erster Überschrift:

Xcode, Vorschau einer Playground-Seite.

Um einen mehrzeiligen Text zu erstellen, benötigen Sie andere Kommentarzeichen:

/*: # Introduction
Eine Einführung in Swift-Playgrounds.
 
 1. Variables
 2. Conditions
 3. Loops
 4. Functions


 ## Variables

*/

Und die Markdown- Vorschau: zum Beispieltext:

Xcode: Vorschau eines Markdown-Textes.

Links

Neue Playground- Seiten enthalten bereits am oberen und unteren Seitenende einen Link auf die vorausgehende und die nächste Seite. Dabei wird die Reihenfolge der Seiten im Navigator zugrundegelegt.

//: [Previous](@previous)

import Foundation

var greeting = "Hello, playground"

//: [Next](@next)

In der Vorschau:

Zusätzlich können Sie weitere Links sowohl auf Playgrond- Seiten als auch auf externe Seiten erstellen. In den eckigen Klammern steht ein frei wählbarer Anzeigename, darauf folgt ohne Leerzeichen der Name der Seite, auf die verlinkt werden soll in runden Klammern.

//:[Home](Introduction)
//:[Homepage](https://zoom-in.info)

Einen Überblick über die Markdown-Syntax bietet die Seite:

Apple Developer, Documentation Markup Formatting

Allerdings haben beim Testen nicht alle Formatierungsregeln, die in der Dokumentation vorgestellt werden, funktioniert.

Tutorials und Bücher

Hacking with Swift

YouTube: Swiftfull Thinking

Youtube: Thomas Sillmann


Quellen:

Hacking with Swift

YouTube: CodeWithChris

Apple Developer, Documentation Markup Formatting

YouTube: Steward Lynch

commonmark.org

Grafik: Website-Icon