02
Paketauflösung und Compilerdiagnosen getrennt prüfen
Wenn der Fehler vor der Kompilierung auftritt, untersuchen Sie zuerst die Abhängigkeiten. Klären Sie, ob das Projekt Swift Packages, eine andere Paketverwaltung oder eine Kombination daraus verwendet. Prüfen Sie dann die zum Projektstand gehörenden Manifest- und Sperrdateien sowie die Herkunft der benötigten Pakete. Eine fehlende Sperrdatei oder eine veränderte Paketquelle kann einen anderen Abhängigkeitsstand ergeben, ohne dass der Swift-Code selbst geändert wurde.
Auf einem Remote Mac kommt die Erreichbarkeit hinzu: Ist die Paketquelle aus der konkreten Hostumgebung zugänglich? Ein Verbindungsfehler beim Abruf ist nicht dasselbe wie eine nicht erfüllte Versionsanforderung. Vergleichen Sie deshalb die konkrete Paketmeldung mit dem Zustand der Projektdateien, statt sofort den gesamten Cache zu löschen. Apples Dokumentation zum Bauen von Swift-Paketen und davon abhängigen Apps in CI-Workflows beschreibt den Paketbezug im Buildablauf; für die Diagnose zählt, ob die Eingaben im konkreten Projekt reproduzierbar sind.
Sobald der Build tatsächlich kompiliert, suchen Sie die erste Meldung mit einem konkreten Bezug zu Datei, Zeile, Symbol oder API. Nachfolgende Fehler können Folgefehler sein: Eine nicht verfügbare Deklaration kann weitere Typfehler auslösen, die nicht unabhängig voneinander behoben werden müssen. Kontrollieren Sie, ob die betroffene Datei zum erwarteten Target gehört und ob die Diagnose auf Quellcode, SDK/API oder eine Compileranforderung verweist.
| Build-Protokoll zeigt … |
Einordnung |
Nächster Schritt |
| Fehler beim Laden oder Auflösen eines Pakets |
Abhängigkeit, Quelle oder Netzwerkpfad zuerst prüfen |
Sperrdatei, Paketquelle und reproduzierbare Auflösung vergleichen |
| Konkrete Compilerdiagnose in einer Quelldatei |
Code, API-Verwendung oder Compilerdiagnose untersuchen |
Erste ursächliche Meldung und betroffene Target-Mitgliedschaft prüfen |
| Viele Folgefehler nach einer frühen Fehlermeldung |
Mögliche Kaskade statt vieler unabhängiger Defekte |
Erst den frühesten konkreten Fehler kontrolliert beheben |
| Keine passende Änderung in den Release Notes |
Ursache ist damit nicht als Versionsfehler bestätigt |
Mit unverändertem Projektstand reproduzieren und weitere Evidenz sammeln |
Ein belastbarer Vergleich verwendet dasselbe Projekt, denselben Build-Auftrag und dasselbe Ziel. Ändern Sie während der Diagnose nicht gleichzeitig den Paketstand, die Build-Einstellungen und den Quellcode. Wenn ein Versuch eine Eingabe ändert, muss der nächste Vergleich diese Änderung ausdrücklich berücksichtigen; sonst wird aus der Fehlersuche ein nicht nachvollziehbarer Wechsel mehrerer Variablen.