Erst eingrenzen, dann beheben

Damit Ihre Builds weiterlaufen

Hilfe zu Verbindung, Toolchain, Signierung und Abrechnung. Prüfen Sie zuerst die Befehle und Hinweise unten. Wenn das Problem bleibt, senden Sie dem Support Node-Daten und bereinigte Logs.

Bei Problemen mit einem gemieteten Node erstellen Sie das Ticket bitte über das Konto der Bestellung. So können wir Instanz und Abrechnung zuordnen.

Wählen Sie den passenden Schritt

Starten Sie dort, wo der Fehler auftritt. Ändern Sie nicht gleich die gesamte Pipeline, sondern prüfen Sie zuerst, ob ein minimaler Testlauf funktioniert.

Konto & Abrechnung

Prüfen Sie die E-Mail-Adresse des Bestellkontos, die Mietdauer und den Abrechnungsstatus. Kontrollieren Sie vor der Verlängerung Instanz und Zeitraum. Nach der Zahlung zählt die Rückmeldung im Portal.

Verbindung & Remote-Desktop

Unterscheiden Sie zunächst zwischen nicht erreichbarem SSH, fehlgeschlagener Anmeldung und Problemen mit der grafischen Oberfläche. Notieren Sie die genaue Fehlermeldung und senden Sie Ihr Anmeldepasswort nicht im Ticket.

Xcode & Signierung

Prüfen Sie zuerst das aktuelle Entwicklerverzeichnis, dann Zertifikat und privaten Schlüssel, Provisioning Profile und Target. Testen Sie Toolchain und Signierung getrennt.

CI/CD-Anbindung

Prüfen Sie Ausführungsbenutzer, Labels und Arbeitsverzeichnis des Runners. Binden Sie automatische Trigger und Zugangsdaten erst ein, wenn ein manueller Lauf funktioniert.

Daten & Neuinstallation

Unterscheiden Sie zwischen Quellcode, Cache und Schlüsseln. Sichern Sie benötigte Daten vor einer Neuinstallation außerhalb des Nodes und prüfen Sie, ob sich die Sicherung wiederherstellen lässt.

Mit einem Befehl prüfen

Häufige Fragen zu Build-Macs

Pfade, Scheme und Projektnamen in den folgenden Beispielen sind Platzhalter. Ersetzen Sie sie vor der Ausführung durch Ihre Projektdaten. Testen Sie Schritte mit Berechtigungen oder Zertifikaten zuerst in einem einzelnen Testlauf.

Wie wechsle ich mit xcode-select zwischen mehreren Xcode-Versionen?

Prüfen Sie zuerst das aktuelle Entwicklerverzeichnis und die Version und vergewissern Sie sich, dass das gewünschte Xcode installiert ist. Im folgenden Beispiel wird das systemweite Standardverzeichnis auf /Applications/Xcode.appgesetzt. Für eine andere Version ersetzen Sie den Pfad durch den tatsächlichen Speicherort der App.

xcode-select -p
xcodebuild -version
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
xcodebuild -version
xcrun --find swift

Eine systemweite Änderung wirkt sich auf alle danach gestarteten Aufgaben aus. Wenn verschiedene Pipelines unterschiedliche Versionen benötigen, setzen Sie DEVELOPER_DIRbevorzugt in der jeweiligen Job-Umgebung, statt das globale Verzeichnis wiederholt zwischen Jobs umzuschalten.

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
xcodebuild -list -workspace MyApp.xcworkspace

Listen Sie nach dem Wechsel zunächst die Schemes auf und führen Sie anschließend ein Archive aus. Fehlen Plattformkomponenten oder muss Xcode beim ersten Start eingerichtet werden, initialisieren Sie die Toolchain zuerst in der macOS-Oberfläche und starten Sie danach die Automatisierung erneut.

Wie importiere ich ein Distributionszertifikat und ein Provisioning Profile?

Sie benötigen einen Zertifikatsexport mit privatem Schlüssel, das zugehörige Passwort und ein Provisioning Profile, das zur App-ID und Verteilungsart passt. Ein Zertifikat ohne passenden privaten Schlüssel reicht in der Regel nicht zum Signieren von Code.

  1. Öffnen Sie auf dem macOS-Benutzerkonto, unter dem der Build läuft, die Schlüsselbundverwaltung und importieren Sie das Zertifikat in den Schlüsselbund dieses Benutzers.
  2. Klappen Sie das Zertifikat auf und prüfen Sie, ob der passende private Schlüssel vorhanden ist. Mit dem folgenden Befehl können Sie gültige Codesignatur-Identitäten anzeigen.
  3. Installieren Sie das Provisioning Profile entsprechend den Anforderungen Ihrer Xcode-Version. Prüfen Sie in den Projekteinstellungen für die Signierung Team, Bundle Identifier und Verteilungsart.
  4. Prüfen Sie die Signiereinstellungen für App, Widget und Extension einzeln. Führen Sie anschließend ein Archive aus und verifizieren Sie den Export.
security find-identity -v -p codesigning

Die Schlüsselbundumgebung des CI-Ausführungsbenutzers kann sich von der des Remote-Desktop-Benutzers unterscheiden. Für unbeaufsichtigte Builds müssen Sie den Schlüsselbund im Job entsperren und die nötigen Zugriffsrechte einrichten. Lesen Sie das Passwort aus einer geschützten CI-Variable aus. Speichern Sie es weder im Repository noch in der Befehlsausgabe oder im Ticket.

Wenn ein manueller Build funktioniert, CI aber fehlschlägt, vergleichen Sie zuerst den Ausführungsbenutzer und den Schlüsselbundstatus. Melden Sie Signierfehler mit Zertifikatstyp, Gültigkeitsdauer und bereinigten Fehlermeldungen. Laden Sie weder private Schlüssel noch Zertifikatspasswörter hoch.

Bleiben die Daten auf dem Node nach einer Neuinstallation erhalten?

Betrachten Sie eine Neuinstallation nicht als Möglichkeit, Dateien zu behalten. Dabei können das System und das Arbeitsverzeichnis gelöscht werden. Klären Sie vor dem Antrag über ein Support-Ticket im Portal den Umfang der Maßnahme und sichern Sie Ihre Daten außerhalb des Nodes. Nach Ende der Mietdauer wird der Node-Datenträger gelöscht; ein abgelaufener Node kann nicht als Quelle zur Wiederherstellung dienen.

Sichern Sie mindestens nicht gepushten Quellcode, Build-Konfigurationen, benötigte Artefakte, Provisioning Profiles und geschütztes Schlüsselmaterial. Caches wie DerivedData und heruntergeladene Abhängigkeiten lassen sich neu erstellen, verlängern aber den ersten Build nach der Wiederherstellung.

Eine abgeschlossene Sicherung ist nicht automatisch wiederherstellbar. Entpacken Sie sie in ein separates Verzeichnis, prüfen Sie Dateianzahl und wichtige Konfigurationen und vergewissern Sie sich, dass sich das letzte Artefakt wiederherstellen lässt. Beenden Sie erst danach die Aufgaben auf dem ursprünglichen Node. Installieren Sie nach der Neuinstallation die Toolchain neu, richten Sie die Signierumgebung wieder ein und registrieren Sie den Runner erneut.

Wie verlängere ich vor Ablauf der Mietzeit?

Melden Sie sich mit dem Konto der Bestellung an und prüfen Sie im Portal die Instanz, das Ablaufdatum und die verfügbaren Verlängerungszeiträume. Bezahlen Sie anschließend die angezeigte Rechnung. Maßgeblich für die erfolgreiche Verlängerung und die neue Mietdauer ist die aktuelle Rückmeldung im Portal – nicht ein Zahlungs-Screenshot oder die Anzeige vor dem Schließen des Browsers.

Unterstützt werden USDT-TRC20 sowie Visa, Mastercard und Amex über Stripe. Alle Zahlungen erfolgen in US-Dollar; welche Zahlungsanbieter verfügbar sind, zeigt die Rückmeldung der Backend-Schnittstelle. Prüfen Sie bei einer Zahlung über die Blockchain vorab Netzwerk, Betrag und Empfängerdaten. Nach einer Kartenzahlung kontrollieren Sie die Rechnung im Portal.

Wenn Rechnungs- und Instanzstatus voneinander abweichen, senden Sie Bestellnummer, Rechnungsnummer und Transaktionsreferenz. Versuchen Sie nicht, den Status durch eine erneute Zahlung zu korrigieren, und senden Sie keine vollständige Kartennummer im Ticket. Sichern Sie Artefakte und benötigte Dateien vor Ablauf der Mietzeit – eine Verlängerung ersetzt keine Datensicherung.

SSH oder Remote-Desktop funktioniert nicht – was sollte ich zuerst prüfen?

Prüfen Sie im Portal zuerst Node-Adresse, Port, Benutzernamen und Instanzstatus. Unterscheiden Sie zwischen Zeitüberschreitung und fehlgeschlagener Anmeldung: Prüfen Sie bei einer Zeitüberschreitung zuerst die Netzwerkerreichbarkeit, bei einem Anmeldefehler Benutzername, Passwort oder Schlüssel. SSH und VNC verwenden unterschiedliche Verbindungsdaten – verwenden Sie nicht denselben Port für beide.

ssh -v -p PORT USER@HOST

Ersetzen Sie PORTdurch die tatsächlichen Angaben, ebensoUSERundHOST Bei einer geänderten Host-Fingerprint-Meldung prüfen Sie die Ursache zuerst über vertrauenswürdige Angaben im Portal oder ein Support-Ticket. Deaktivieren Sie nicht einfach die Prüfung der Host-Identität.

Remote-Desktop eignet sich zum Prüfen der macOS-Oberfläche, des Schlüsselbunds und der Xcode-Einstellungen. SSH eignet sich für Kommandozeile und CI. Entfernen Sie vor dem Senden von Logs sensible Angaben zu Benutzernamen, Adressen und lokalen Pfaden. Belassen Sie nur Fehlertyp und Ablauf.

Warum warten Jobs nach der Registrierung eines self-hosted Runners dauerhaft?

Prüfen Sie vier Punkte: Ist der Runner online? Stimmen die Job-Labels überein? Darf das Projekt diesen Runner verwenden? Läuft der Prozess mit dem richtigen Benutzer? Eine erfolgreiche Registrierung bestätigt nur die Zuordnung – nicht, dass alle Jobs automatisch diesem Node zugewiesen werden.

Starten Sie zunächst einen Testjob, der nur Toolchain-Informationen ausgibt. Prüfen Sie Ausführungsbenutzer, Verzeichnis und Xcode-Version, bevor Sie Schritte für Abhängigkeiten und Signierung hinzufügen.

whoami
pwd
xcode-select -p
xcodebuild -version
security find-identity -v -p codesigning

Nehmen Sie macOS, Chiparchitektur und Einsatzzweck in die Labels auf und wählen Sie diese in der Projektkonfiguration gezielt aus. Begrenzen Sie bei der ersten Einrichtung die Ausführung auf einen Job. Prüfen Sie, ob Cache, Schlüsselbund und Artefaktverzeichnisse getrennt bleiben, und erhöhen Sie erst dann die Parallelität. Registrierungstoken sind Zugangsdaten und gehören weder in Tickets noch in Build-Logs.

Das Projekt lässt sich kompilieren, aber Archive schlägt fehl – wie grenze ich die Ursache ein?

Prüfen Sie zuerst, ob Sie das richtige Workspace, ein geteiltes Scheme und die Release-Konfiguration verwenden. Archive und Simulator-Build folgen unterschiedlichen Abläufen. Prüfen Sie Signierung, Architektur und Exporteinstellungen für das Geräteziel gesondert.

xcodebuild -list -workspace MyApp.xcworkspace
xcodebuild archive \
  -workspace MyApp.xcworkspace \
  -scheme MyApp \
  -configuration Release \
  -destination 'generic/platform=iOS' \
  -archivePath build/MyApp.xcarchive

Sichern Sie den ersten konkreten Fehler samt Kontext, nicht nur die abschließende Meldung „fehlgeschlagen“. Prüfen Sie Abhängigkeitsinstallation, Skriptphasen, Signierung und Schreibvorgänge auf dem Datenträger getrennt. Verifizieren Sie nach erfolgreichem Archive auch das Exportartefakt: Ein abgeschlossenes Archive ist noch kein Paket zur Verteilung.

Der Speicherplatz reicht nicht – kann ich einfach alle Caches löschen?

Prüfen Sie zuerst die Speicherbelegung und den Status laufender Aufgaben. Unterscheiden Sie dann wiederherstellbare Caches von Artefakten, die Sie behalten müssen. Löschen Sie keine Verzeichnisse, von denen ein laufender Job abhängt, und behandeln Sie Quellcode, Signiermaterial oder noch nicht hochgeladene Archives nicht als Cache.

df -h
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/Archives

Legen Sie getrennte Aufbewahrungsregeln für Cache und Artefakte fest. Nach einer Bereinigung können der erste Build und das Auflösen von Abhängigkeiten länger dauern. Betrachten Sie diesen Build als Kaltstarttest. Wenn der Speicherplatz dauerhaft knapp ist, erfassen Sie zunächst das Wachstum von Projekten und Artefakten und wählen Sie dann ein passenderes Modell oder eine zusätzliche SSD-Option.

Begriffe fürs Support-Ticket

Acht häufige Begriffe zu Ressourcen, Verbindung, Build und Signierung. Benennen Sie den konkreten Gegenstand, um Rückfragen zu vermeiden.

Physischer Node
Ein Mac mini, auf dem macOS tatsächlich ausgeführt wird. XCRent stellt dedizierte physische Rechner statt virtueller Maschinen bereit. Node-Daten helfen, die Instanz zu finden, und sind nicht mit der CI-Job-ID Ihres Projekts gleichzusetzen.
Dediziert
Während der Mietdauer wird der gesamte physische Node von einem einzigen Kunden genutzt. Mehrere Jobs desselben Kunden teilen sich dennoch CPU, Arbeitsspeicher und Speicherplatz. Planen Sie Parallelität und getrennte Verzeichnisse daher selbst.
VNC
Eine Remote-Desktop-Verbindung zur Bedienung der grafischen macOS-Oberfläche. Sie eignet sich zum Prüfen von Xcode-Einstellungen, Schlüsselbund und Systemstatus. Adresse und Zugangsdaten erhalten Sie im angemeldeten Portal.
SSH
Verschlüsselte Kommandozeilenverbindung für Befehle, Dateiübertragungen und Automatisierung. Schützen Sie bei der Schlüsselauthentifizierung den privaten Schlüssel und prüfen Sie die Identität des Servers. SSH ist kein Remote-Desktop-Protokoll.
self-hosted Runner
Ein CI-Ausführungsprozess auf Ihrem eigenen Node. Er übernimmt Projektjobs und führt sie mit einem festgelegten Benutzer aus. Ob ein Job läuft, hängt gemeinsam von Online-Status, Labels, Berechtigungen und Arbeitsverzeichnis ab.
Archive
Ein von Xcode erstelltes Build-Archiv mit App-Inhalten und zugehörigen Informationen für den späteren Export. Ein erfolgreiches Archive bedeutet nicht, dass auch der Export gelungen ist. Prüfen Sie anschließend Signierung und Verteilungseinstellungen.
Provisioning Profile
Eine Signierdatei, die App-ID, Berechtigungen, Zertifikat und Verteilungsumfang festlegt. Sie muss zur Target-Konfiguration passen und ersetzt weder das Distributionszertifikat noch den dazugehörigen privaten Schlüssel.
Unified Memory
Gemeinsam von CPU und GPU genutzter Arbeitsspeicher in Apple Silicon. Wenn Builds, Simulatoren und Modellaufgaben gleichzeitig laufen, sollten Sie die Speicherlast insgesamt bewerten, statt die gesamte Kapazität einem einzelnen Job zuzuweisen.
Verfügbarkeit & Gutschrift

Monatswerte prüfen – Build-Fehler sind kein Ausfall

Der Node ist an 365 Tagen im Jahr verfügbar. Prüfen Sie die Dienstverfügbarkeit unabhängig vom Ergebnis Ihres Builds: Ein abgelaufenes Zertifikat, eine fehlerhafte Projektkonfiguration oder ein Bedienfehler des Nutzers bedeutet nicht automatisch, dass der Node nicht verfügbar war.

Monatliche Verfügbarkeitszusage

99.9%

Liegt die monatliche Verfügbarkeit unter der Zusage, wird die Mietzeit anteilig entsprechend der Dauer der Unterschreitung gutgeschrieben. Geben Sie für die Prüfung die Instanz, den betroffenen Zeitraum und Verbindungsprotokolle an. Der Support gleicht diese mit den Serverdaten und den geltenden Bedingungen ab.

Aufzeichnungen der letzten 90 Tage

Auf dieser Seite sind keine Node-Monitoringdaten eingebunden. Daher zeigen wir weder den täglichen Betriebsstatus noch die Zusage als Messwert an. Prüfen Sie tatsächliche Ereignisprotokolle über ein Support-Ticket im Portal.

Zeitraum
Letzte 90 Tage
Datenstatus dieser Seite
Keine Monitoringdaten eingebunden
Abrechnungszeitraum für Gutschriften
Monatliche Prüfung

Welche Nachweise sollten Sie sichern?

Notieren Sie Beginn und Ende der Störung samt Zeitzone. Bewahren Sie Verbindungsfehler, Wiederholungsversuche und die betroffene Instanz auf. Ausnahmen wie höhere Gewalt oder nutzerbedingte Vorgänge richten sich nach den Servicebedingungen. Senden Sie nicht nur einen Screenshot eines fehlgeschlagenen Pipelineschritts und leiten Sie die Node-Ausfallzeit nicht allein aus einem lokalen Netzwerkausfall ab.

Erstellen Sie ein Ticket, mit dem der Support sofort arbeiten kann

Kunden mit gemietetem Node erstellen ihr Ticket im Portal. Anfragen zu Vertrieb, Geschäftlichem oder Sicherheit senden Sie an support@xcoderent.com. Diese beiden Kontaktwege decken alle Supportanfragen ab.

  1. 01

    Instanz angeben

    Nennen Sie Bestellnummer, Node-Standort und Modell. Verfügbar sind Singapur, Tokio, Seoul, Hongkong, die US-Ostküste und die US-Westküste. Geben Sie das Modell als XR Build 16, XR Build 24 oder XR Build Pro 64 an, statt nur „der Build-Mac“ zu schreiben.

  2. 02

    Problem beschreiben

    Geben Sie an, bei welchem Schritt der Fehler auftritt, wann er begann und ob er weiterhin besteht. Erwähnen Sie auch kürzliche Änderungen an Xcode, Signierung oder Runner. Nennen Sie die Zeitzone, damit sich Aufzeichnungen verschiedener Nodes abgleichen lassen.

  3. 03

    Kleinste Reproduktion beilegen

    Senden Sie bereinigte Befehle, den ersten konkreten Fehler und die bereits durchgeführten Prüfungen. Senden Sie keine privaten Schlüssel, Anmeldepasswörter, Registrierungstoken oder vollständigen Kartendaten. Entfernen Sie auch sensible Pfade aus den Logs.

  4. 04

    Auswirkungen eingrenzen

    Unterscheiden Sie zwischen einem einzelnen fehlerhaften Projekt, fehlgeschlagenen Jobs insgesamt und einer Verbindungsstörung zum Node. Wenn andere Aufgaben laufen, geben Sie an, welche funktionieren und welche fehlschlagen. So kann der Support zunächst Toolchain, Projekt oder Instanz als Ursache eingrenzen.

Wo sehe ich den Bearbeitungsstand?

Den Ticketstatus, Rückfragen und Antworten finden Sie im Portal. Wir nennen hier keine unbestätigte feste Reaktionszeit in Minuten. Wenn Sie einen Liefertermin oder eine Wiederherstellungsprognose benötigen, teilen Sie dem Support im Ticket Ihre geschäftliche Frist mit. Doppelte Tickets liefern keine zusätzlichen Informationen – ergänzen Sie neue Details am besten im bestehenden Ticket.

Keine passende Antwort gefunden?

Schreiben Sie uns, welche Build-Warteschlange, Mietdauer oder konkrete Fehlermeldung Sie betrifft. Auf der Kontaktseite erfahren Sie, wie Sie Ihre Anfrage vorbereiten. Bei Fragen zu einer bestehenden Bestellung halten Sie den vollständigen Verlauf direkt im Portal fest.