Symptom: Ihr SwiftUI-Projekt läuft im Simulator, aber Sie wissen nicht, welche Datei Sie dem Dozenten geben sollen.
Schnellste Lösung: Wenn Sie mit Xcode 27 eine iOS-App paketieren, prüfen Sie zuerst das Projekt, erstellen anschließend über „Product“ und „Archive“ ein Archive und wählen erst danach Export, registrierte Geräte oder TestFlight passend zu Ihrem Ziel.
Für wen dieser Ablauf gedacht ist
Diese Anleitung ist für Sie geeignet, wenn Sie gerade Ihr erstes SwiftUI-Projekt abgeschlossen haben und eine funktionierende Version an eine Lehrkraft oder an andere Studierende weitergeben möchten.
Sie finden hier auch eine Route für Windows- und Chromebook-Nutzer ohne eigenen Mac sowie eine klare Abgrenzung zwischen Debug-Ausführung, Archive, exportierter App und TestFlight. Wenn Sie nur Quellcode abgeben müssen, benötigen Sie möglicherweise nicht jeden folgenden Schritt.
Vor dem Paketieren das Abgabeziel festlegen
Bevor Sie Xcode öffnen, schreiben Sie in einem Satz auf, was am Ende vorliegen muss. Viele Anfänger beginnen direkt mit der Signierung, obwohl für eine Kursaufgabe nur der Quellcode oder ein Screenshot verlangt wird.
| Ziel der Abgabe | Passender Weg | Ergebnis | Eigene Einschätzung für Anfänger |
|---|---|---|---|
| Quellcode einreichen | Projektordner oder Repository sichern | Lehrkraft kann den Code prüfen | 5/5, wenn keine Installation verlangt wird |
| Im Unterricht demonstrieren | „Run“ mit Simulator oder angeschlossenem Gerät | Vorführung auf Ihrer Entwicklungsumgebung | 4/5, aber nicht automatisch weitergebbar |
| Datei für ein registriertes Gerät | Archive erstellen und anschließend exportieren | Installierbare Testversion unter den offiziellen Voraussetzungen | 3/5, weil Signierung und Gerätezuordnung nötig sind |
| Mehrere Tester einladen | Archive erstellen und über App Store Connect zu TestFlight hochladen | Testversion für eingeladene Tester | 2/5 für Anfänger, da zusätzliche Konten- und Prüfanforderungen gelten |
Apple beschreibt das Archive als Grundlage für die weitere Verteilung einer App. Für die Vorbereitung auf die Distribution gelten deshalb die offiziellen Hinweise zur App-Verteilung. Für eine reine Kursabgabe sollten Sie trotzdem zuerst prüfen, ob tatsächlich eine installierbare Datei verlangt wird.
Das Projekt für Xcode 27 in einen baubaren Zustand bringen
1. Eine sichere Ausgangsversion speichern
Kopieren Sie den Projektordner oder sichern Sie den aktuellen Stand in Ihrem Versionsverwaltungssystem, bevor Sie Einstellungen ändern. Wenn Sie beim ersten Paketierungsversuch eine Bundle-ID, ein Zertifikat oder ein Build-Ziel verändern, können Sie so ohne langes Rätselraten zur letzten funktionierenden Version zurückkehren.
Vergeben Sie außerdem einen eindeutigen Dateinamen für den Ausgangsstand, zum Beispiel mit dem Hinweis „vor-archive“. Der Name ist keine technische Voraussetzung, hilft Ihnen aber beim Vergleich, wenn ein späterer Build nicht mehr funktioniert.
2. Das richtige Scheme und Ziel auswählen
Ein Scheme ist vereinfacht gesagt der Arbeitsauftrag, den Xcode beim Bauen verwendet: Es legt unter anderem fest, welches Ziel kompiliert und welche Konfiguration ausgeführt wird. Wenn Ihr Projekt mehrere Targets besitzt, kann ein falsches Scheme dazu führen, dass Sie zwar erfolgreich bauen, aber die falsche App archivieren.
Kontrollieren Sie deshalb:
- Ist das Scheme das Ziel Ihrer eigentlichen App und nicht nur ein Test-Target?
- Ist als Zielgerät ein echtes iPhone oder eine allgemeine Geräteplattform ausgewählt, nicht ausschließlich ein Simulator?
- Enthält das Projekt die erwarteten Assets, Swift-Dateien und Konfigurationsdateien?
- Sind App-Name, Bundle Identifier und Versionsnummer plausibel?
- Ist das App-Symbol vorhanden, sofern die Aufgabenstellung es verlangt?
3. Erst einen normalen Build ausführen
Starten Sie das Projekt zunächst mit „Run“. Dieser Durchlauf ist Ihr Unterrichtsentwurf: Sie prüfen, ob der Quellcode kompiliert, die Oberfläche erscheint und die wichtigste Funktion arbeitet.
Trennen Sie dabei drei Fehlerarten:
- Compiler- oder Swift-Fehler: Der Quellcode kann nicht gebaut werden.
- Fehlende Ressourcen: Bilder, lokale Daten oder Swift Packages sind nicht vollständig vorhanden.
- Signierungs- oder Identitätsfehler: Der Build kann technisch korrekt sein, darf aber nicht für das ausgewählte Gerät oder die gewünschte Verteilung signiert werden.
Xcode 27 iOS-App paketieren: den ersten Archive-Durchlauf ausführen
„Run“ und „Archive“ sehen für Anfänger ähnlich aus, erfüllen aber verschiedene Aufgaben. „Run“ startet einen Entwicklungs-Build auf dem ausgewählten Ziel. „Archive“ erzeugt dagegen einen gespeicherten Projektstand, der für Export oder weitere Verteilung verwendet werden kann.
4. Das richtige Ziel vor dem Archive wählen
Wählen Sie in der Xcode-Zielleiste das Scheme Ihrer App aus. Für ein iOS-Archive darf nicht ausschließlich ein Simulatorziel verwendet werden. Wenn Xcode die Archivierung nicht anbietet oder das Ziel ungeeignet ist, prüfen Sie zuerst die Zielauswahl und die Build-Konfiguration.
Wählen Sie danach im Menü „Product“ den Befehl „Archive“. Der Menüpunkt kann je nach Oberfläche oder Xcode-Version anders positioniert wirken; die Logik bleibt dieselbe: Xcode muss einen vollständigen Archiv-Build anlegen, nicht nur eine laufende Vorschau starten.
5. Das Ergebnis und die Abbruchpunkte prüfen
Nach einem erfolgreichen Durchlauf öffnet sich der Bereich „Archives“ beziehungsweise der Organizer. Dort sollte ein Eintrag mit App-Name, Build-Informationen und Erstellungszeit erscheinen.
Brechen Sie die weitere Verteilung ab, wenn:
- der Build bereits während der Kompilierung fehlschlägt;
- das Archive gar nicht im Organizer erscheint;
- Sie ein falsches Target archiviert haben;
- die Versionsnummer nicht zur Abgabe passt;
- Xcode eine Signierung verlangt, die Sie nicht besitzen oder nicht verwenden dürfen.
Nach dem Archive den passenden Export wählen
Ein Archive ist nicht automatisch eine Datei, die Sie an Ihre Mitschüler senden können. Im Organizer müssen Sie mit „Distribute App“ den nächsten Weg auswählen. Welche Option sinnvoll ist, hängt von der Abgabe ab.
Nur eine Kursdatei abgeben
Wenn die Lehrkraft ausdrücklich eine exportierte App-Datei verlangt, benötigen Sie einen Verteilungsweg, der zu den zugelassenen Geräten und Ihrer Signierung passt. Für registrierte Geräte beschreibt Apple den Ablauf zum Export einer App für angemeldete Geräte.
Dafür können unter anderem eine passende Apple-Developer-Berechtigung, eine korrekte Bundle-ID, ein Zertifikat und eine registrierte Gerätekennung relevant sein. Diese Voraussetzungen sind nicht durch das Archive allein erfüllt. Verwenden Sie keine fremden Zertifikate und bitten Sie niemanden, Ihnen private Schlüssel oder einen fremden Account zu schicken.
Andere Studierende testen lassen
Wenn Ihre Aufgabe lautet, dass mehrere Personen die App ausprobieren sollen, kann TestFlight der passendere Weg sein. Dafür wird das Archive in App Store Connect hochgeladen und anschließend für Tester bereitgestellt. Apple beschreibt den Zweck und Ablauf in der Übersicht zu TestFlight.
Das ist nicht dasselbe wie „Datei per E-Mail senden“. Die Testpersonen benötigen den vorgesehenen Einladungs- und Installationsweg, während Sie die Build-Informationen und Testgruppe korrekt zuordnen müssen.
Für die spätere Veröffentlichung vorbereiten
Eine Kursabgabe ist keine Veröffentlichung im App Store. Wenn Sie später weiterarbeiten möchten, erstellen Sie zunächst einen App-Datensatz in App Store Connect. Apple erklärt das Anlegen eines solchen Datensatzes in der Anleitung zum Erstellen eines neuen App-Eintrags.
Für einen Lernauftrag müssen Sie diesen Weg nicht automatisch wählen. Ein vollständiger Veröffentlichungsprozess bringt zusätzliche Angaben, Prüfungen und Verantwortlichkeiten mit sich. Er sollte nur begonnen werden, wenn die Aufgabenstellung ihn ausdrücklich verlangt.
Signierung ohne Umwege und ohne unsichere Abkürzungen
Signierung bedeutet für Anfänger am besten: Xcode versieht die App mit einer überprüfbaren Identität, damit ein vorgesehenes Gerät oder ein zugelassener Dienst sie akzeptiert. Das ist vergleichbar mit einem Kursstempel auf der Abgabedatei. Der Stempel ersetzt aber nicht die eigentliche Arbeit am Projekt.
Apple unterscheidet verschiedene Zertifikatstypen und deren Einsatzbereiche in der Übersicht zu Zertifikaten. Die konkrete Berechtigung hängt von Ihrem Account und dem gewählten Verteilungsweg ab. Prüfen Sie insbesondere:
- Ist die Bundle-ID mit dem Projekt konsistent?
- Gehört das verwendete Team zu Ihrem erlaubten Entwicklerkonto?
- Ist das gewünschte Gerät beziehungsweise der vorgesehene Testweg zugelassen?
- Wissen Sie, ob Sie für die Aufgabe eine Entwicklungs-, Test- oder andere Verteilungssignierung brauchen?
- Können Sie die erzeugte Datei später nachvollziehbar zuordnen?
Ohne eigenen Mac mit dem Paketieren beginnen
Wenn Sie Windows oder ein Chromebook verwenden, können Sie den SwiftUI-Code, Notizen, Assets und Versionsstände vorbereiten. Der abschließende iOS-Build mit Xcode, das Archive und die grafische Prüfung des Projekts benötigen jedoch eine kompatible macOS-Umgebung. Ein Windows-Computer wird durch eine Remote-Verbindung nicht selbst zu einem iOS-Build-System.
Ein entfernter Mac teilt den Ablauf sinnvoll auf:
- Speichern Sie Quellcode und Projektdateien lokal oder in einem von Ihnen kontrollierten Repository.
- Prüfen Sie auf Ihrem bisherigen Gerät Dateinamen, Assets und die gewünschte Abgabeform.
- Verbinden Sie sich mit einem echten entfernten Mac über eine grafische Sitzung, wenn Sie Xcode bedienen müssen.
- Öffnen Sie das Projekt und lassen Sie zunächst einen normalen Build laufen.
- Prüfen Sie erst danach Scheme, Ziel, Versionsnummer und Signing-Einstellungen.
- Erstellen Sie ein Archive und kontrollieren Sie den Eintrag im Organizer.
- Exportieren oder laden Sie nur den Weg hoch, den Ihre Aufgabe tatsächlich verlangt.
- Übergeben Sie anschließend die Quelldateien, das Archive oder die exportierte Datei mit einer kurzen Installationsanleitung.
Prüfen Sie vor einer längeren Nutzung die Hinweise zu einem entfernten Mac von MACGPU. Achten Sie bei Kursprojekten besonders darauf, welche Dateien Sie übertragen, ob Zugangsdaten im Projekt liegen und wann Sie die Sitzung wieder beenden. Bei personenbezogenen Testdaten sollten Sie die DSGVO-Anforderungen Ihrer Schule oder Hochschule berücksichtigen.
Die Abgabe mit einer ausführbaren Checkliste prüfen
Bearbeiten Sie diese Liste in der angegebenen Reihenfolge. Ein nicht gesetztes Kästchen ist ein guter Grund, die Datei noch nicht an die Lehrkraft zu senden.
- [ ] Das Projekt wurde vor den Änderungen kopiert oder im Versionsverwaltungssystem gesichert.
- [ ] Das richtige Scheme und das richtige App-Target sind ausgewählt.
- [ ] Das Projekt läuft mindestens einmal ohne den ursprünglichen Compilerfehler.
- [ ] Fehlende Bilder, Swift Packages und sonstige Ressourcen wurden geprüft.
- [ ] Bundle Identifier, App-Name und Versionsnummer passen zur Aufgabe.
- [ ] Sie haben zwischen Simulatorlauf, echtem Gerät, Archive und Export unterschieden.
- [ ] Das Archive erscheint im Organizer und gehört zum aktuellen Projektstand.
- [ ] Die gewählte Exportmethode passt zu „nur Datei“, „Gerätetest“ oder „TestFlight“.
- [ ] Sie verwenden nur ein eigenes oder ausdrücklich zugelassenes Entwicklerkonto.
- [ ] Keine fremden Zertifikate, privaten Schlüssel oder geteilten Apple-Accounts wurden eingesetzt.
- [ ] Der Empfänger weiß, ob er Quellcode, Archive, exportierte Datei oder TestFlight-Zugang erhält.
- [ ] Sie haben das Ergebnis nicht nur auf Ihrem Simulator, sondern entsprechend der Aufgabe geprüft.
Entscheidung nach dem ersten erfolgreichen Archive
Wenn Sie nur Quellcode abgeben, stoppen Sie nach der gesicherten Projektprüfung und dokumentieren Sie, wie die Lehrkraft das Projekt öffnen kann. Wenn Sie eine Vorführung brauchen, testen Sie die App in der Umgebung, die im Unterricht tatsächlich verfügbar ist.
Wenn ein Mitschüler die App installieren soll, klären Sie vor dem Export, ob ein registriertes Gerät oder TestFlight vorgesehen ist. Wenn Sie länger lernen möchten, bewahren Sie das funktionierende Archive und den Quellcode getrennt auf. So können Sie später weiterarbeiten, ohne die für die Abgabe gedachte Version zu überschreiben.
Für Studierende ohne kompatiblen Mac ist ein entfernter Mac vor allem dann sinnvoll, wenn das Projekt lokal bereits sauber vorbereitet ist und Sie nur für Öffnen, Bauen, Archive und Export eine macOS-Umgebung benötigen. Informieren Sie sich bei Bedarf über die verfügbaren Mac-Mietoptionen von MACGPU, prüfen Sie vorher Datenschutz, Zugriffsrechte und Dateiübergabe und entscheiden Sie erst danach über eine kurze Nutzung.
Ein Windows-Rechner bleibt für Code, Dokumentation und viele Lernschritte praktisch, hat aber drei klare Grenzen: Xcode läuft dort nicht nativ, der abschließende iOS-Build muss an eine kompatible Mac-Umgebung übergeben werden, und zusätzliche Dateiübertragungen können bei sensiblen Kursdaten die Kontrolle erschweren. Einen eigenen Mac zu kaufen ist für regelmäßige, langfristige Entwicklungsarbeit oft einfacher, bindet aber Kapital und ist für eine einzelne Abgabe möglicherweise unnötig. Wenn Sie dagegen nur vorübergehend ein Projekt archivieren und testen müssen, kann das Mieten eines Mac von MACGPU die kürzere und passendere Route sein — vorausgesetzt, Ihr Projekt lässt sich vorher öffnen, kompilieren und ohne ungeklärte Signing-Fehler archivieren.