Lektion 0.3 · Stufe 0 – Orientierung

Xcode-Rundgang

ca. 15 Minuten Lesezeit

Lernziel

Nach dieser Lektion kannst du ein neues Projekt anlegen und kennst die wichtigsten Bereiche von Xcode: wo dein Code steht, wo du das Ergebnis siehst und wo Fehlermeldungen auftauchen.

Das Problem: Ein Cockpit voller Knöpfe

Wer Xcode zum ersten Mal öffnet, fühlt sich oft wie im Cockpit eines Flugzeugs: überall Knöpfe, Leisten und Symbole. Die gute Nachricht: Du brauchst am Anfang nur einen kleinen Teil davon. Den lernst du jetzt kennen. Den Rest entdeckst du nach und nach im Kurs.

Schritt 1: Ein neues Projekt anlegen

Ein Projekt ist in Xcode der Ordner, in dem alles zu einer App liegt: Code, Bilder, Einstellungen.

  1. Öffne Xcode.
  2. Klick im Willkommensfenster auf Create New Project… (oder später über das Menü File → New → Project…, Kürzel ⇧ ⌘ N)
  3. Wähle oben iOS und dann die Vorlage App. Klick auf Next.

Jetzt fragt Xcode nach ein paar Angaben:

FeldWas eintragen?Erklärung
Product NameHelloWorldDer Name deiner App
TeamDein Name (Personal Team) oder „None“Brauchst du erst für ein echtes iPhone
Organization Identifiercom.deinnameEine eindeutige Kennung für dich, z. B. com.annamueller
InterfaceSwiftUI⚠️ Wichtig! Nicht „Storyboard“ wählen
LanguageSwift
Testing SystemNoneTests kommen in Stufe 4
StorageNoneSpeicherung kommt in Stufe 3

Was ist der Bundle Identifier?

Unter den Feldern zeigt Xcode com.deinname.HelloWorld an. Das ist der weltweit eindeutige „Personalausweis“ deiner App. Deshalb nimmt man üblicherweise eine umgedrehte Web-Adresse oder seinen Namen als Anfang.

  1. Klick auf Next, wähle einen Speicherort (z. B. einen Ordner „SwiftUI-Kurs“ in deinen Dokumenten) und dann Create.

Tipp

Leg für den ganzen Kurs einen eigenen Ordner an. Du wirst viele kleine Projekte erstellen und willst sie später wiederfinden.

Schritt 2: Die fünf Bereiche von Xcode

Nach dem Erstellen öffnet sich das Hauptfenster. Es besteht aus fünf Bereichen:

Text
┌─────────────────────────────────────────────────────────────┐
│  ① Toolbar   [▶ ■]  HelloWorld › iPhone-Simulator           │
├───────────┬───────────────────────────┬───────────┬─────────┤
│           │                           │           │         │
│ ② Navi-   │   ③ Editor                │  ④ Canvas │ Inspec- │
│   gator   │   (dein Code)             │  (Vor-    │ tor     │
│           │                           │  schau)   │         │
│           ├───────────────────────────┴───────────┤         │
│           │  ⑤ Debug-Bereich / Konsole            │         │
└───────────┴───────────────────────────────────────┴─────────┘
Screenshot folgt: Xcode-Hauptfenster mit nummerierten Bereichen

(Der Gerätename in der Toolbar hängt von deiner Xcode-Version ab.)

① Die Toolbar (oben)

Die wichtigsten Elemente:

  • ▶ Play-Button (⌘ R): baut deine App und startet sie
  • ■ Stop-Button (⌘ .): beendet die laufende App
  • Geräteauswahl: Neben dem Projektnamen siehst du ein Gerät, z. B. ein iPhone-Modell. Klick darauf, um zu wählen, auf welchem Simulator oder iPhone die App laufen soll.
  • Statusanzeige in der Mitte: zeigt, was Xcode gerade tut („Building…“, „Running…“) und ob es Fehler oder Warnungen gibt.

Hier siehst du alle Dateien deines Projekts, ähnlich wie im Finder. In einem neuen Projekt sind das:

DateiWofür?
HelloWorldApp.swiftDer Startpunkt deiner App
ContentView.swiftDer erste Bildschirm deiner App
AssetsBilder, Farben und das App-Symbol

Ein Klick auf eine Datei öffnet sie im Editor.

Ein- und ausblenden mit ⌘ 0 (Null). Über die Symbole oben im Navigator kannst du zu anderen Ansichten wechseln, etwa zur Suche (Lupe) oder zur Fehlerliste (Warndreieck).

③ Der Editor (Mitte)

Hier schreibst du deinen Code. Klick im Navigator auf ContentView.swift. Du siehst ungefähr das hier:

Swift
import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Image(systemName: "globe")
                .imageScale(.large)
                .foregroundStyle(.tint)
            Text("Hello, world!")
        }
        .padding()
    }
}

#Preview {
    ContentView()
}

Du musst das noch nicht verstehen. Nur so viel:

  • Image(systemName: "globe") zeigt ein Globus-Symbol.
  • Text("Hello, world!") zeigt einen Text.
  • VStack stapelt beides untereinander.

Die Farben im Code nennt man Syntax-Highlighting. Sie helfen dir, Code schneller zu lesen: Texte in Anführungszeichen haben eine Farbe, Schlüsselwörter wie struct oder var eine andere.

④ Der Canvas (rechts neben dem Editor)

Das ist die Vorschau (Preview) deines Bildschirms. Sie aktualisiert sich automatisch, während du tippst. Du siehst sofort, wie deine Änderung aussieht, ohne die App zu starten.

Siehst du keinen Canvas? Dann:

  • Menü Editor → Canvas aktivieren, oder
  • Kürzel ⌥ ⌘ ↩ (Option + Command + Enter)

Wenn die Vorschau pausiert ist, klick auf den kleinen Aktualisieren-Pfeil im Canvas oder drück ⌥ ⌘ P.

Erwartetes Ergebnis

Im Canvas siehst du ein iPhone mit einem Globus-Symbol und darunter „Hello, world!“.

Der Inspector (ganz rechts) zeigt Details zur gerade ausgewählten Datei oder zum ausgewählten Element. Am Anfang brauchst du ihn kaum. Ein- und ausblenden kannst du ihn mit ⌥ ⌘ 0.

⑤ Der Debug-Bereich (unten)

Hier erscheinen Ausgaben, während deine App läuft, zum Beispiel Nachrichten, die du mit print(...) ausgibst, und Fehlerberichte. Der rechte Teil heißt Konsole.

Ein- und ausblenden mit ⇧ ⌘ Y.

Schritt 3: Deine erste Änderung

Jetzt wird's ernst. Ändere im Editor die Zeile

Swift
Text("Hello, world!")

in

Swift
Text("Hallo, ich lerne SwiftUI!")

Schau auf den Canvas: Der Text ändert sich fast sofort. 🎉

Und jetzt mach absichtlich etwas kaputt. Lösch das letzte Anführungszeichen:

Swift
Text("Hallo, ich lerne SwiftUI!)

Nach kurzer Zeit erscheint eine rote Markierung am Zeilenrand und eine Fehlermeldung, z. B.:

Fehlermeldung

Unterminated string literal

Übersetzt: „Der Text wurde nicht abgeschlossen.“ Xcode vermisst das schließende Anführungszeichen. Füg es wieder ein, und der Fehler verschwindet.

Rot und Gelb

🔴 Rot = Fehler. Die App lässt sich nicht bauen, bis du ihn behebst.
🟡 Gelb = Warnung. Die App läuft, aber Xcode hat einen Verbesserungsvorschlag.

Schritt 4: Die App im Simulator starten

Der Canvas ist praktisch, aber nur eine Vorschau. Jetzt starten wir die App „richtig“:

  1. Wähle oben in der Toolbar ein iPhone-Modell als Ziel aus.
  2. Klick auf ▶ oder drück ⌘ R.
  3. Warte einen Moment: Xcode baut die App, startet den Simulator und installiert die App darauf.

Beim ersten Mal dauert das etwas länger, weil der Simulator hochfahren muss.

Erwartetes Ergebnis

Ein Fenster mit einem iPhone öffnet sich, und deine App zeigt „Hallo, ich lerne SwiftUI!“.

Der Simulator verhält sich wie ein echtes iPhone: Du kannst mit der Maus tippen und wischen, zum Home-Bildschirm wechseln (⇧ ⌘ H) und deine App erneut öffnen.

Beenden kannst du die App mit ■ in Xcode (⌘ .).

Die wichtigsten Tastenkürzel

Du musst sie nicht alle sofort lernen. Druck dir die Tabelle aus oder kehr später hierher zurück.

KürzelAktion
⌘ RApp bauen und starten
⌘ .App stoppen
⌘ BNur bauen (ohne starten), gut zum Fehler-Prüfen
⌥ ⌘ ↩Canvas ein-/ausblenden
⌥ ⌘ PVorschau aktualisieren
⌘ 0Navigator ein-/ausblenden
⇧ ⌘ YDebug-Bereich ein-/ausblenden
⇧ ⌘ ODatei schnell öffnen (Name eintippen)
⌃ ICode automatisch einrücken (markierten Bereich)
⌘ /Zeile auskommentieren

Typische Probleme

Der Canvas zeigt „Preview paused“ oder eine Fehlermeldung

Klick auf den Aktualisieren-Pfeil oder drück ⌥ ⌘ P. Hilft das nicht: Prüf, ob dein Code einen roten Fehler hat. Die Vorschau funktioniert nur, wenn der Code fehlerfrei ist.

Ich habe aus Versehen „Storyboard“ statt „SwiftUI“ gewählt

Dann sieht dein Projekt völlig anders aus. Am einfachsten: Projekt schließen, löschen und neu anlegen, diesmal mit Interface: SwiftUI.

Ich habe einen Bereich versehentlich ausgeblendet

Alle Bereiche lassen sich über das Menü View wieder einblenden. Oder du nutzt die Kürzel oben.

Der Simulator ist sehr langsam

Beim ersten Start ist das normal. Bleibt er langsam, hilft es oft, andere Programme zu schließen oder den Simulator einmal zu beenden und neu zu starten.

FAQ

Anfänger

Was bedeutet das überhaupt?

Muss ich meine Dateien speichern? Xcode speichert automatisch, spätestens wenn du die App baust. Ein ⌘ S zwischendurch schadet aber nicht.

Was ist der Unterschied zwischen Canvas und Simulator? Der Canvas zeigt eine schnelle Vorschau einer einzelnen View, ideal zum Gestalten. Der Simulator führt die ganze App aus, so wie auf einem echten iPhone. Im Alltag nutzt du meist den Canvas und startest den Simulator, um das Zusammenspiel zu testen.

Was bedeutet import SwiftUI ganz oben? Damit sagst du Xcode: „Ich möchte den Werkzeugkasten SwiftUI benutzen.“ Ohne diese Zeile kennt die Datei Dinge wie Text oder VStack nicht.

Fortgeschritten

Warum verhält es sich so?

Kann ich die Schriftgröße im Editor ändern? Ja: ⌘ + und ⌘ - vergrößern bzw. verkleinern. Dauerhaft geht das unter Xcode → Settings… → Themes. Dort findest du auch dunkle und helle Farbschemata.

Kann ich mehrere Previews gleichzeitig sehen? Ja. Mehrere #Preview-Blöcke in einer Datei erscheinen als einzelne Reiter im Canvas. Wie man das sinnvoll nutzt, z. B. für Dark Mode und große Schrift, lernst du in Lektion 2.3.

Profi

Was passiert unter der Haube?

Was passiert, wenn ich auf ▶ drücke? Xcode führt einen Build aus: Der Swift-Compiler übersetzt deinen Code in Maschinencode, der Linker verbindet ihn mit den System-Frameworks, und alles wird zu einem App-Paket (.app) gebündelt und signiert. Dieses Paket installiert Xcode auf dem Ziel und startet es mit angehängtem Debugger (LLDB). Deshalb erscheinen print-Ausgaben in der Konsole.

Wie funktioniert die Preview technisch? Xcode baut deinen Code in einem speziellen Modus, führt ihn in einem eigenen Prozess aus und rendert nur die View im #Preview-Block. Kleine Änderungen werden möglichst schnell nachgeladen, ohne die ganze App neu zu bauen. Deshalb ist der Canvas viel schneller als ein kompletter Start im Simulator.

Übungen

Anfänger

Übung 1: Dein Name

Ändere den Text so, dass dort „Hallo, ich bin [dein Name]!“ steht. Starte die App im Simulator.

Fortgeschritten

Übung 2: Anderes Symbol

Ersetze "globe" durch "heart.fill". Was passiert? Probier auch "star.fill" und "sun.max.fill".

Lösung Übung 2Erst selbst probieren!

Statt des Globus erscheint ein gefülltes Herz. Image(systemName:) lädt Symbole aus SF Symbols, Apples Bibliothek mit Tausenden Symbolen. Du lernst sie in Lektion 2.6 genauer kennen.

Profi

Übung 3: Fehler-Detektiv

Bau nacheinander drei absichtliche Fehler ein und notiere jeweils die Fehlermeldung:

  1. Lösch eine schließende geschweifte Klammer }.
  2. Schreib text statt Text.
  3. Schreib Text(Hallo) ohne Anführungszeichen.
Lösung Übung 3Erst selbst probieren!

Die genauen Meldungen können je nach Xcode-Version leicht abweichen. Ungefähr:

  1. Fehlende }: Expected '}' in struct. Xcode vermisst das Ende eines Blocks.
  2. text statt Text: Cannot find 'text' in scope. Swift unterscheidet Groß- und Kleinschreibung und kennt nichts namens text.
  3. Text(Hallo): Cannot find 'Hallo' in scope. Ohne Anführungszeichen hält Swift Hallo für einen Namen, nicht für einen Text.

Merke: „Cannot find … in scope“ heißt fast immer: Tippfehler oder fehlende Anführungszeichen.

Zusammenfassung

  • Ein neues Projekt: iOS → App, Interface SwiftUI, Sprache Swift.
  • Navigator (links): deine Dateien. Editor (Mitte): dein Code. Canvas (rechts): die Vorschau. Debug-Bereich (unten): Ausgaben.
  • ⌘ R startet die App im Simulator, ⌘ . stoppt sie.
  • 🔴 Rot = Fehler, 🟡 Gelb = Warnung.

Spickzettel

Text
⌘ R       Starten          ⌘ .      Stoppen
⌥ ⌘ ↩     Canvas           ⌥ ⌘ P    Vorschau aktualisieren
⌘ 0       Navigator        ⇧ ⌘ Y    Debug-Bereich

Lektion geschafft?

Markiere sie als erledigt, damit du deinen Fortschritt siehst.