07
Remote-Mac und unbeaufsichtigte CI/CD-Läufe
Kann AppIntentsTesting in CI/CD laufen?
Ja, sofern die Umgebung die von Apple erwarteten Projekt-, Signierungs-, Simulator- und Testbedingungen reproduzierbar bereitstellt. Der entscheidende Punkt ist nicht die grafische Fernbedienung, sondern ein Apple-Silicon-Mac mit festem Xcode- und SDK-Stand, verfügbarer Simulator-Laufzeit, korrekt installierten Targets und einem nach Neustarts wiederherstellbaren Testzustand.
Ein Remote-Mac eignet sich deshalb als iOS-Build- und Testserver, wenn der Job ohne dauerhaft geöffnete Fernsteuerung gestartet werden kann. Für die laufende Wartung kann VNCMac für einen gemieteten Remote-Mac geprüft werden; die konkrete Eignung hängt von Xcode-Version, Laufzeit, Signierung und dem gewünschten Zugriffspfad ab.
Signierung auf dem Remote-Mac
Die Code-Signierung muss auf dem Testknoten nicht nur einmal funktionieren, sondern nach einer Abmeldung, einem Neustart und einer erneuten CI-Anmeldung reproduzierbar sein. Halten Sie Zertifikate, Provisioning Profiles, Bundle Identifier und Team-Zuordnung getrennt für Debug-, Test- und Release-Aufgaben.
Apple beschreibt die gemeinsame Nutzung von Team-Signaturzertifikaten. Nutzen Sie diese Anleitung als Referenz und speichern Sie keine privaten Schlüssel, Session-Tokens oder App-Store-Credentials in frei lesbaren Repository-Dateien. In Logs gehören nur maskierte Werte; Pfade sollten als CI_WORKSPACE und Konten als TEST_ACCOUNT erscheinen.
Getrennte Job-Routen
Ordnen Sie die Aufgaben nach ihrer Aussage:
| CI/CD-Route |
Typischer Inhalt |
Bedeutung eines Fehlers |
Reaktion |
| Schneller Commit-Job |
Unit-Tests und ausgewählte App-Intent-Basistests |
Logik oder grundlegende Intent-Erreichbarkeit ist gestört |
Merge blockieren, wenn Kernfunktion betroffen ist |
| Integrationsjob |
Entity Query, Parameterkette, Spotlight und Navigation |
Systemintegration oder Testdaten sind nicht reproduzierbar |
Artefakte prüfen und Umgebung isolieren |
| Veröffentlichungsjob |
Release-Signatur, Archive und Upload-Vorbereitung |
Produktionssignierung oder Release-Konfiguration ist fehlerhaft |
Nicht veröffentlichen, Credentials und Profile prüfen |
| Nacht- oder Wartungslauf |
Neustart, vollständige Bereinigung und Wiederholung |
Remote-Mac oder Wiederherstellung ist nicht dauerhaft belastbar |
Knoten reparieren, bevor weitere Tests darauf vertrauen |
Die Route sollte xcresult, Konsolenausgabe und Umgebungsdaten als Artefakte speichern. Dazu gehören Xcode-Version, SDK, Simulator-Laufzeit, Git-Revision, verwendete Konfigurationsbezeichnung und ein anonymisierter Fehlerstatus. So lässt sich ein fehlgeschlagenes Entity Query untersuchen, ohne die Remote-Sitzung live beobachten zu müssen.