Anleitung suchen

iOS-Builds von Grund auf

Programmieren Sie unter Windows oder Linux und erstellen Sie iOS-Builds auf einem Cloud-Mac. Verbinden Sie sich zuerst, prüfen Sie dann die Tools und kümmern Sie sich anschließend um Abhängigkeiten und Signierung.

Schon bestellt? Prüfen Sie Instanzstatus und Verbindungsdaten in der Konsole. Zahlungsdaten sind kein Verbindungspasswort.

Umgebung startklar machen

Diese drei Schritte prüfen nur Zugriff und Tools. Importieren Sie noch keine Produktionszertifikate und aktualisieren Sie nicht gleich alle Abhängigkeiten.

  1. Verbindungsdaten prüfen

    Melden Sie sich in der Konsole an und öffnen Sie die passende Bestellung sowie die Instanzdetails. Prüfen Sie Knoten, Betriebsstatus und die angezeigte Verbindungsadresse, den Port und die Zugangsdaten.

    Die Verbindungsadresse ist nicht die Bestellnummer. Wird die Instanz noch eingerichtet, prüfen Sie zuerst den Status. Bei einem Fehler senden Sie die Bestellnummer mit einem Support-Ticket, statt die Konfiguration wiederholt zurückzusetzen.

  2. Bei macOS anmelden

    Geben Sie Adresse, Port und Passwort jeweils in Ihrem lokalen VNC-Client ein. Verwenden Sie beim ersten Zugriff eine niedrigere Auflösung und prüfen Sie, ob Tastatur, Maus und Fenstersteuerung funktionieren.

    Für die Kommandozeile verwenden Sie die SSH-Daten der Instanz. Prüfen Sie beim ersten Verbindungsaufbau den Host-Fingerprint. Ändert er sich unerwartet, geben Sie keine Zugangsdaten ein und klären Sie zuerst die Ursache.

    Eine ruckelnde Desktop-Verbindung bedeutet nicht, dass der Build angehalten wurde. Prüfen Sie zunächst Ihr lokales Netzwerk und reduzieren Sie dann die Auflösung. Reine Build-Aufgaben können Sie über SSH ausführen.

  3. Entwicklertools prüfen

    Vergewissern Sie sich, dass Xcode vollständig installiert ist, und starten Sie es einmal, um die Komponenten einzurichten. Die Kommandozeilen-Tools müssen auf die für diesen Build verwendete Xcode-Version verweisen, nicht nur auf ein separates Tool-Verzeichnis.

    xcode-select -p
    xcodebuild -version
    xcodebuild -showsdks

    Fehlt das iOS SDK, installieren Sie zuerst die fehlenden Xcode-Komponenten. Nur wenn eine Lizenzvereinbarung angezeigt wird, müssen Sie diese bestätigen. Wechseln Sie nicht einfach das Verzeichnis, um ein tatsächlich fehlendes SDK zu kaschieren.

Flutter verwenden

Zuerst doctor prüfen

Übertragen Sie Projekt, Lock-Datei und benötigte Ressourcen gemeinsam auf den Mac. Verwenden Sie die Flutter-Version des Projekts und beheben Sie zuerst Umgebungsprobleme, bevor Sie den Anwendungscode ändern.

Voraussetzungen installieren

Installieren Sie Flutter SDK, vollständiges Xcode und CocoaPods. Gibt das Projekt eine Flutter-Version oder eine Ruby-Toolchain vor, richten Sie sich nach den Vorgaben im Repository. So vermeiden Sie unterschiedliche Versionen auf Ihrem Rechner und dem Build-Mac.

Führen Sie die Diagnose aus und beheben Sie die Hinweise zur iOS-Toolchain der Reihe nach. Eine Warnung zur Geräteverbindung verhindert nicht unbedingt das Archivieren. Fehlendes Xcode, SDK oder eine Signierungskonfiguration müssen Sie hingegen zuerst beheben.

Zwei Arten der Prüfung

Möchten Sie nur prüfen, ob die Kompilierung durchläuft, starten Sie zunächst einen unsignierten Release-Build. Er ersetzt weder ein signiertes Installationspaket noch eignet er sich direkt zur Verteilung.

Prüfen Sie für den .ipa-Export in Xcode unter Signing & Capabilities Team, Bundle Identifier, Zertifikat und Provisioning Profile. Starten Sie anschließend den regulären Build.

Befehle der Reihe nach ausführen

flutter --version
flutter doctor -v
flutter pub get
flutter build ios --release --no-codesign
flutter build ipa --release

Für den letzten Befehl muss die Signierung vollständig eingerichtet sein. Speicherort und Export richten sich nach der verwendeten Flutter-Version und der Befehlsausgabe. Laden Sie das fertige Artefakt herunter und prüfen Sie es lokal.

Erst die fehlgeschlagene Ebene prüfen, dann über das Löschen des Caches entscheiden
Fehlerhinweis Zuerst prüfen Nicht als Erstes tun
CocoaPods not installed Prüfen Sie, ob CocoaPods installiert ist und ob das aktuelle Terminal den Befehl pod findet. Nicht zuerst das gesamte iOS-Projekt löschen.
No profiles / signing Prüfen Sie, ob Bundle Identifier, Team und Exporttyp zusammenpassen, und kontrollieren Sie die Gültigkeit des Provisioning Profile. Abhängigkeits- und Signierungsfehler nicht gleichzeitig behandeln.
Deployment target Vergleichen Sie die Anforderungen der Plugins, vereinheitlichen Sie die minimale iOS-Version im Projekt und in der Podfile und installieren Sie anschließend die Abhängigkeiten. Nicht nur ein Target ändern und sofort erneut archivieren.

React Native verwenden

Abhängigkeitsversionen festlegen

Prüfen Sie zuerst die Vorgaben des Repositorys zu Node, Ruby und Paketmanager. Behalten Sie die Lock-Dateien bei, damit der Build-Mac die vorhandene Teamumgebung reproduziert, statt neue Abhängigkeitsversionen auszuwählen.

Zuerst JavaScript-Abhängigkeiten installieren

Verwenden Sie den Paketmanager aus der Lock-Datei des Projekts, etwa npm oder Yarn. Die Befehle unten gelten für npm-Projekte mit package-lock.json. Bei anderen Projekten verwenden Sie den dort vorgesehenen Installationsbefehl.

Enthält das Repository eine Gemfile, legen Sie die CocoaPods-Version mit Bundler fest. Nur ohne Gemfile verwenden Sie direkt den vom Projekt verlangten pod-Befehl. Mischen Sie keine globalen und projektspezifischen Toolchains.

Dann den Workspace öffnen

Öffnen Sie nach der Installation der Pods die .xcworkspace im iOS-Verzeichnis, nicht nur die .xcodeproj. Wählen Sie das tatsächlich verwendete Scheme und archivieren Sie mit der Release-Konfiguration.

Prüfen Sie vor dem Archivieren Versionsnummer, Build-Nummer und Signierung. Exportieren Sie das fertige Archiv im Organizer passend für Tests oder Verteilung. Ein Simulator-Build ersetzt kein Installationspaket für Geräte.

Projektumgebung reproduzieren

node --version
ruby --version
npm ci
bundle install
cd ios
bundle exec pod install

Die beiden Bundler-Befehle setzen voraus, dass das Projekt eine Gemfile enthält. Schlägt die Installation fehl, sichern Sie zuerst den ersten Fehler und die relevanten Versionen, bevor Sie etwas ändern.

Hermes separat prüfen

Schlägt die Hermes-Kompilierung fehl, prüfen Sie zuerst React-Native-Version, Pods-Lock-Datei, Xcode-Version und die Kompatibilität nativer Abhängigkeiten. Meldet das Protokoll, dass ein Skript Node nicht findet, kontrollieren Sie den im Build-Skript verwendeten Node-Pfad. Deaktivieren Sie Hermes nicht vorschnell und löschen Sie nicht alle Lock-Dateien – beides verändert Projektverhalten und Abhängigkeiten.

Unity verwenden

Exportiertes Projekt übertragen

Bearbeiten Sie das Spiel weiter unter Windows und kompilieren sowie signieren Sie es auf dem Cloud-Mac mit Xcode. Übertragen Sie das vollständige Exportverzeichnis, nicht nur eine einzelne Projektdatei.

Module zuerst prüfen

Prüfen Sie, ob Ihre Unity-Version und Installationsart den iOS-Projektexport auf diesem Rechner unterstützen, und installieren Sie das passende iOS Build Support. Ist ein Export lokal nicht möglich, übertragen Sie das Unity-Projekt auf den Mac und erstellen den Build dort mit derselben Editor-Version.

Prüfen Sie vor dem Export Bundle Identifier, Skript-Backend, minimale Systemversion und Plattformvorgaben der Plugins. Speichern Sie die verwendete Konfiguration.

Vollständiges Verzeichnis übertragen

Packen Sie das exportierte Xcode-Projekt samt Ressourcen, nativen Plugins und Build-Skripten und übertragen Sie das Archiv. Prüfen Sie nach dem Entpacken die Verzeichnisstruktur, damit keine versteckten Konfigurationsdateien fehlen und nicht nur die .xcodeproj übertragen wurde.

Benötigen Plugins CocoaPods, führen Sie zuerst die erforderlichen Installationsschritte aus und öffnen Sie danach den erzeugten Workspace. Bauen Sie nicht direkt aus einem temporären Archivverzeichnis.

Fehler schichtweise eingrenzen

Schlagen IL2CPP oder das Linken fehl, prüfen Sie zuerst den ersten Compilerfehler, die Architektur nativer Bibliotheken, Framework-Verweise und Plugin-Versionen. Erst wenn der Build durchläuft, kümmern Sie sich um nicht zusammenpassende Zertifikate und Provisioning Profile.

Für große Ressourcenpakete kommt der Pro-Tarif infrage: M4 Pro / 64GB / 2TB SSD. Prüfen Sie zuerst den Umfang der Ressourcen und den verfügbaren Speicherplatz, statt die Konfiguration anhand des Projektnamens auszuwählen.

Ein erneuter Unity-Export kann manuelle Änderungen in Xcode überschreiben. Dokumentieren Sie notwendige Einstellungen und integrieren Sie skriptfähige Änderungen in den Build-Prozess des Projekts, damit Sie sie beim nächsten Build nicht wiederholen müssen.

Diese Begriffe kennen

Verbindung, Hardware und Signierung sind unterschiedliche Ebenen. Wenn Sie die Begriffe kennen, lässt sich ein Problem gezielter melden.

Physischer Knoten
Mac-Hardware, auf der macOS tatsächlich läuft. Der Standort des gewählten Knotens beeinflusst den Weg für Remote-Zugriff und Dateiübertragungen, nicht aber die Signierungsanforderungen des Projekts.
Dediziert
Während der Mietdauer steht Ihnen ein eigener physischer Mac zur Verfügung, keine virtuelle Maschine. CPU und Arbeitsspeicher werden nicht mit anderen geteilt. Projektberechtigungen und Build-Zugangsdaten verwalten Sie weiterhin selbst.
VNC
Verbindung zur grafischen Oberfläche des entfernten Rechners. Geeignet für die erste Xcode-Einrichtung und zum Prüfen von Archiven. Die Reaktionsgeschwindigkeit hängt von Ihrem lokalen Netzwerk und der Auflösung ab.
self-hosted runner
CI-Runner auf einem Rechner, den Sie selbst verwalten. Builds laufen auf diesem Mac. Registrierungstoken, Berechtigungen für Jobs und Bereinigungsregeln muss Ihr Team konfigurieren.
Unified Memory
Arbeitsspeicher auf Apple Silicon, den Prozessor und Grafik gemeinsam nutzen. Projektgröße, parallele Kompilierung und gleichzeitig geöffnete Tools beanspruchen diese Ressource.
Signierzertifikat
Identitätsnachweis für die App-Signierung. Zum Signieren wird in der Regel auch der zugehörige private Schlüssel benötigt. Ohne passenden privaten Schlüssel reicht das importierte Zertifikat möglicherweise nicht aus.
Provisioning Profile
Profil, das App-Kennung, Signierungsberechtigung und Verwendungszweck für die Verteilung verknüpft. Es muss zu Zertifikat, Team, App-Funktionen und Exporttyp passen.
.ipa
App-Paket für iOS-Geräte. Eine erzeugte Datei lässt sich nicht automatisch auf jedem Gerät installieren. Welche Geräte oder Nutzer unterstützt werden, hängt weiterhin von Signierung und Exportart ab.

Nach dem Build prüfen

Nehmen Sie Ihre Build-Artefakte mit und behalten Sie Mietdauer und Daten im Blick. Das Schließen des Remote-Desktops beendet die Miete nicht.

Noch nicht fertig – wie verlängere ich?

Öffnen Sie vor Ablauf die Konsole und prüfen Sie Verlängerungsoption, Rechnung und Ablaufdatum des aktuellen Dienstes. Bestätigen Sie Laufzeit und Betrag, schließen Sie die Zahlung ab und kontrollieren Sie anschließend, ob sich die Laufzeit aktualisiert hat. Wurde die Zahlung übermittelt, der Status aber nicht aktualisiert, senden Sie Bestellnummer und Zahlungsbeleg mit einem Support-Ticket. Ein Screenshot der Zahlung allein bestätigt keine Verlängerung.

Build fertig – wie beende ich die Miete?

Der Dienst wird im Voraus für Tag, Woche, Monat oder Quartal bezahlt und endet, wenn Sie nicht verlängern. Sind Sie früher fertig, exportieren Sie zuerst Ihre Dateien und prüfen Sie dann in der Konsole Laufzeit und verfügbare Aktionen. VNC zu schließen, SSH zu trennen oder den Rechner manuell herunterzufahren ersetzt keine Prüfung des Abrechnungsstatus und bedeutet nicht, dass Sie automatisch eine Rückerstattung erhalten.

Was passiert nach Ablauf mit meinen Dateien?

Daten auf einem nach Ablauf gestoppten Dienst werden gemäß den Nutzungsbedingungen gelöscht. Verwenden Sie den gestoppten Rechner nicht als Backup-Speicher. Exportieren Sie vor Ablauf Quellcode, .ipa, Archive, dSYM und erforderliche Konfigurationen und prüfen Sie lokal, ob sich die Dateien öffnen lassen. Sichern Sie Zertifikate und private Schlüssel nach den Vorgaben Ihres Teams. Entfernen Sie nicht mehr benötigte vertrauliche Zugangsdaten vom Remote-Rechner. Gehen Sie nicht davon aus, dass Sie nach Ablauf wieder eine Verbindung herstellen oder Dateien wiederherstellen können.

Welche Zahlungsmethoden werden unterstützt?

Unterstützt werden ausschließlich USDT-TRC20 und Visa / Mastercard / Amex (über Stripe). Abgerechnet wird ausschließlich in US-Dollar (USD). Welche Zahlungswege verfügbar sind, richtet sich nach der Rückmeldung der Backend-Schnittstelle. Bei Zahlungsproblemen geben Sie Bestellnummer, Zahlungsmethode und Transaktionsstatus an. Senden Sie niemals vollständige Kartennummern, Sicherheitscodes, Passwörter oder private Schlüssel per E-Mail oder Support-Ticket.

Fehler vollständig beschreiben

Bei Fragen zu einer bestehenden Bestellung nutzen Sie ein Support-Ticket in der Konsole. Zur Beratung vor dem Kauf oder wenn Sie sich vorübergehend nicht anmelden können, finden Sie auf der Kontaktseite die E-Mail-Adresse. Anfragen werden in der Reihenfolge der Support-Tickets bearbeitet; eine Antwort innerhalb einer nicht bestätigten Frist wird nicht zugesagt.

Schritte zur Reproduktion angeben

Nennen Sie Bestellnummer, Framework- und Xcode-Version, die ausgeführten Schritte und den Zeitpunkt des Fehlers samt Zeitzone. Fügen Sie bei Build-Problemen den ersten Fehler samt umgebenden Protokollzeilen bei, nicht nur den letzten Eintrag „fehlgeschlagen“.

Vertrauliche Angaben entfernen

Schwärzen Sie in Protokollen Passwörter, Token, private Schlüssel und Kundendaten. Bei Anträgen zur Verfügbarkeit geben Sie zusätzlich den betroffenen Zeitraum an. Bei Zahlungsproblemen reicht die Transaktionskennung; fügen Sie keinen irrelevanten Projektquellcode bei.

Bei Verbindungsabbrüchen geben Sie an, ob VNC und SSH gleichzeitig betroffen waren und was nach einem Wechsel des lokalen Netzwerks geschah. So lässt sich ein Zugriffsproblem von einem Build-Problem unterscheiden.

Wo kommen Sie nicht weiter?

Nennen Sie Bestellnummer und ersten Fehler – wir prüfen mit Ihnen den nächsten Schritt.