iOS-Apps lassen sich nur auf macOS kompilieren; ein vollständiger Build inklusive Archive und TestFlight-Upload kann 15 bis 30 Minuten dauern. Für Indie-Entwickler ohne dauerhaft laufenden Mac bedeutet das oft: manueller Build am nächsten Morgen oder Verzicht auf nächtliche Releases. Mit OpenClaw Cron und einem Remote-Mac (z. B. VNCMac) können Sie zeitplangesteuerte Builds einrichten – die Maschine arbeitet nachts, Sie starten morgens mit einem frischen TestFlight-Build. Dieser Artikel beschreibt die technische Einrichtung, vergleicht Optionen in Tabellenform und bewertet Sicherheit sowie Stabilität.
Warum Übernacht-Builds?
Ein typischer iOS-Release umfasst: Clean Build, Archive, Code-Signing, Export des IPA und Upload zu App Store Connect. Auf einer mittelgroßen App sind das oft 10–20 Minuten reine Laufzeit. Wenn Ihr einziger Mac abends ausgeschaltet ist, entfällt die Möglichkeit, nach einem späten Commit noch einen Build zu starten. Ein zeitplangesteuerter Job (z. B. täglich 02:00 Uhr auf einem Remote-Mac) löst das Problem: Sie pushen Code, gehen schlafen, und am Morgen liegt der Build in TestFlight. Voraussetzung ist eine dauerhaft verfügbare macOS-Build-Umgebung – entweder ein eigener Rechner, der 24/7 läuft, oder eine gemietete Instanz wie bei VNCMac.
Vergleich der Infrastruktur-Optionen
Drei gängige Wege für zeitplangesteuerte iOS-Builds: (1) GitHub Actions oder GitLab CI mit Schedule-Trigger und macOS-Runner; (2) eigener Mac mit launchd oder cron, dauerhaft eingeschaltet; (3) OpenClaw Cron auf einem Remote-Mac (VNCMac). Die folgende Tabelle vergleicht die Optionen in den Kriterien Betriebsmodell, Abrechnung, Kontrolle und Eignung für Indie-Entwickler.
| Kriterium | GitHub Actions / GitLab CI (Schedule) | Eigener Mac + cron/launchd | OpenClaw Cron + Remote-Mac (VNCMac) |
|---|---|---|---|
| Build-Umgebung | Gehostete macOS-Runner, Laufzeit- und Kontingentgrenzen | Eigener Mac, 24/7 betrieben, Strom und Abnutzung | Dedizierter physischer Mac in der Cloud, Stunde oder Monat mietbar |
| Zeitplan | Workflow-schedule-Syntax, minütengenau |
cron / launchd, beliebig konfigurierbar | OpenClaw cron add --cron "0 2 * * *", cron-kompatibel |
| Betriebsaufwand | Gering, aber macOS-Minuten können knapp werden | Hoch: Hardware, Strom, Netzwerk, Sicherheit selbst verantworten | Gering: Mac wird vom Anbieter gewartet, Sie konfigurieren nur Jobs und erhalten Ergebnisse |
| Datensicherheit / Isolation | Geteilte Runner, ephemerale Umgebung | Volle Kontrolle, physischer Zugriff nötig | Bare-Metal, eine Instanz pro Kunde möglich; keine Virtualisierung |
| Eignung Indie-Entwickler | Kleine Projekte, wenige Builds, Kontingent akzeptabel | Wer bereits einen Mac 24h laufen lässt und ihn betreiben kann | Maximale Flexibilität bei geringem Betriebsaufwand; volle Kontrolle über Xcode und Signing |
Ein Übernacht-Build entkoppelt „wann laufen“ (Zeitplan), „wo laufen“ (Remote-Mac) und „was laufen“ (OpenClaw + Fastlane). Stabilität und Sicherheit hängen von der gewählten Infrastruktur und der Absicherung der Signing-Assets ab.
OpenClaw Cron: Technische Grundlagen
OpenClaw ist ein quelloffener KI-Coding-Assistent; das zugehörige Gateway unterstützt Cron-Jobs: zu festgelegten Zeiten wird ein Agent gestartet und führt eine vordefinierte Aktion aus (z. B. Aufruf eines Skripts, das fastlane release ausführt). Jobs können einmalig (--at) oder wiederkehrend (--cron) konfiguriert werden. Die Ausgabe kann an Telegram, Slack o. Ä. gesendet werden, sodass Sie morgens sofort sehen, ob der Build erfolgreich war. Unter macOS wird das Gateway per launchd betrieben und läuft dauerhaft im Hintergrund – Voraussetzung für zuverlässige Zeitplanausführung.
Konfiguration auf dem Remote-Mac
Auf einer bei VNCMac gemieteten Mac-Instanz installieren Sie OpenClaw CLI (z. B. über Homebrew), richten Gateway und optional einen Messaging-Kanal (Telegram) ein. Der Cron-Job wird dann mit derselben Syntax wie klassische Cron-Jobs angelegt. Beispiel: täglich um 02:00 Uhr in der lokalen Zeitzone des Macs einen Build ausführen.
# Beispiel: Übernacht-iOS-Build (täglich 02:00)
openclaw cron add --name "Übernacht iOS Build" --cron "0 2 * * *" -- "cd ~/Projects/MyApp && fastlane release"
Bei Fehlern unterstützt OpenClaw Cron ein exponentielles Backoff (z. B. 30 s, 1 min, 5 min), was die Zuverlässigkeit nächtlicher Builds erhöht. Die genaue Konfiguration (Speicherort der Jobs, maximale parallele Läufe) erfolgt über ~/.openclaw/config.json5.
Integration mit Fastlane: Von Cron bis TestFlight
Der vollständige Ablauf lautet: Cron triggert → auf dem Remote-Mac wird ein Befehl ausgeführt (z. B. cd Projekt && fastlane release) → Fastlane übernimmt ggf. git pull, xcodebuild, Signing, Archive und upload_to_testflight. Damit das stabil funktioniert, muss auf dem Mac Folgendes bereitstehen:
- Xcode und Fastlane installiert; Projektabhängigkeiten (CocoaPods/SPM) aufgelöst
- Code-Signing: Zertifikate und Provisioning Profiles z. B. über fastlane match oder Keychain, sodass kein manueller Eingriff nötig ist
- Netzwerkzugriff auf das Git-Repository (falls im Job ein Pull erfolgt) und auf Apple-Dienste (TestFlight-Upload)
VNCMac stellt dedizierte physische Macs bereit (kein Hypervisor). Sie richten einmalig Xcode, Match und ggf. API-Keys ein; alle zeitplangesteuerten Builds laufen auf derselben Maschine mit konsistentem Zustand und vorhersehbarer Laufzeit. Die folgende Tabelle gibt typische Zeiten für einen mittelgroßen iOS-Build auf einem M4 Mac mini (Referenzwerte).
| Schritt | Typische Dauer | Anmerkung |
|---|---|---|
| Clean Build (xcodebuild) | 3–7 Min. | Projektgröße und Cache abhängig |
| Archive & Export IPA | 1–2 Min. | App-Store-Connect-Export |
| Upload zu TestFlight | 1–3 Min. | Netzwerk und IPA-Größe |
| End-to-End (Cron-Start → TestFlight) | 6–15 Min. | Ohne Wartezeit in CI-Queue |
Sicherheit und Stabilität
Sicherheit: Zertifikate und Private Keys dürfen nicht im Klartext auf dem Build-Host liegen; Fastlane Match oder ein anderer sicherer Mechanismus (verschlüsseltes Repo, Zugriff nur für den Runner) ist empfehlenswert. Der Zugriff auf den Remote-Mac sollte per SSH-Key und optional 2FA erfolgen; keine unnötigen offenen Ports. VNCMac bietet Bare-Metal-Isolation und nach Mietende eine konforme Datenlöschung (DSGVO-relevant).
Stabilität: Ein dedizierter Mac ohne geteilte Ressourcen liefert reproduzierbare Build-Zeiten. OpenClaw Cron speichert Jobs persistent und übersteht Neustarts des Gateways; bei Fehlern reduziert das Backoff unnötige Wiederholungen in kurzer Folge. Für maximale Zuverlässigkeit sollten Sie die Zeitzone des Macs und die Cron-Expression aufeinander abstimmen (z. B. Server in UTC, Cron dann 0 1 * * * für 02:00 MEZ).
Checkliste vor dem produktiven Einsatz
- Remote-Mac mit passender Xcode- und Fastlane-Version; Projekt baut mit einem Befehl fehlerfrei
- Signing-Assets (Match oder Keychain) werden beim Build automatisch geladen, kein manuelles Anmelden nötig
- Cron-Ausführungszeit und Zeitzone des Hosts sind abgestimmt
- Bei Fehlern: Benachrichtigung (z. B. Telegram) oder zentrales Log, damit Sie morgens schnell reagieren können
Fazit
Mit OpenClaw Cron und einem Remote-Mac (z. B. VNCMac) realisieren Sie einen zeitplangesteuerten iOS-Build: nachts baut die Maschine, morgens liegt der Build in TestFlight. Die Kombination aus Cron-Syntax, persistenter Job-Speicherung und optionaler Benachrichtigung eignet sich besonders für Indie-Entwickler, die keine eigene Hardware 24/7 betreiben wollen, aber volle Kontrolle über Xcode, Signing und Zeitplan behalten möchten. Dedizierte physische Macs sorgen für stabile Laufzeiten und klare Sicherheitsgrenzen – ohne Virtualisierung und ohne pro-Build-Gebühren.