Hilfe für Windows-Entwickler

Windows-Projekte auf dem Mac weiterentwickeln

Die meisten Fragen lassen sich über zwei Wege selbst klären: den Remote-Desktop im Browser oder SSH. Für grafische Aufgaben öffnen Sie den Desktop, für Build-Ausgaben nutzen Sie die Kommandozeile. Prüfen Sie zuerst die Verbindung, dann Toolchain, Signierung und Dateien.

Sie haben bereits einen Mac bereitgestellt? Die Verbindungsdaten finden Sie nach der Anmeldung in den Instanzdetails. Allgemeine Host-Adressen oder Passwörter gibt es nicht.

Erst verbinden, dann einrichten

Über die Instanzdetails zur Arbeitsumgebung

Für den Browser-Desktop müssen Sie keinen Remote-Desktop-Client installieren. Unter Windows ist SSH eine alternative Zugangsmöglichkeit: Bei Anzeigeproblemen können Sie so prüfen, ob die Maschine noch erreichbar ist. Maßgeblich sind bei beiden Wegen die Adresse, der Port und das Konto, die aktuell in der Konsole angezeigt werden.

  1. 01

    Instanzstatus prüfen

    Melden Sie sich an der Konsole an und öffnen Sie Ihre bereitgestellte Bestellung und Instanz. Prüfen Sie Modell, Standort, Laufzeitende und Status. Ist die Zahlung abgeschlossen, die Bereitstellung aber noch im Gange, beachten Sie zunächst die Statusmeldung, statt dieselbe Konfiguration erneut zu bestellen.

  2. 02

    Browser-Desktop öffnen

    Öffnen Sie in den Instanzdetails den Zugang zum Remote-Desktop. Warten Sie, bis der macOS-Bildschirm erscheint, und klicken Sie dann in den Desktop, um Eingaben zu machen. Teilen Sie weder die Adresse der Verbindungsseite noch Passwörter oder sensible Informationen aus Screenshots.

  3. 03

    Grundfunktionen testen

    Testen Sie nacheinander Mausklicks, englische Texteingabe und den Fensterwechsel. Öffnen Sie den Finder, um die Dateien zu prüfen, und danach das Terminal für die Toolchain. Wenn die chinesische Eingabe nicht funktioniert, unterscheiden Sie zuerst zwischen lokaler Eingabemethode und Eingabequelle auf dem Remote-Mac. Installieren Sie nicht sofort das System neu.

  4. 04

    SSH als Alternative bereithalten

    Führen Sie den folgenden Befehl in Windows PowerShell aus und geben Sie den Benutzernamen, Host und Port aus den Instanzdetails ein. Prüfen Sie beim ersten Verbindungsaufbau den Host-Fingerprint. Dass bei der Passworteingabe keine Zeichen angezeigt werden, ist normal.

Geben Sie die Verbindungsparameter einzeln in Windows PowerShell ein. Die Variablen werden durch Ihre Eingaben belegt und sind keine direkt verwendbaren Zugangsdaten.

$MacUser = Read-Host "Benutzernamen der Instanz eingeben"
$MacHost = Read-Host "Host der Instanz eingeben"
$MacPort = Read-Host "SSH-Port eingeben"
ssh -p $MacPort "$MacUser@$MacHost"

Bei einer Zeitüberschreitung prüfen Sie zuerst Netzwerk, Host und Port. Bei einem Authentifizierungsfehler kontrollieren Sie Benutzername und Authentifizierungsmethode. Ändert sich der Host-Fingerprint, klären Sie zuerst, ob das System neu installiert wurde. Löschen Sie den alten Eintrag nicht ungeprüft.

Nachvollziehbare Ausgaben sichern

Anhand eines Archivierungsprotokolls den Fortschritt prüfen

Eine funktionierende SSH-Verbindung bedeutet noch nicht, dass das Projekt vollständig eingerichtet ist. Prüfen Sie zuerst Xcode-Pfad und Version und wechseln Sie dann in das Projektverzeichnis, um das Archiv zu erstellen. Für den Upload benötigen Sie eine konfigurierte fastlane-Lane, Signierungsmaterial und die nötigen Berechtigungen für die Verteilung.

Erst den Befehl, dann die letzte Zeile prüfen

Die Darstellung rechts veranschaulicht einen Workflow. Sie zeigt weder gemessene Maschinenleistung noch garantiert sie, dass jeder Befehl unverändert für jedes Projekt funktioniert. Der Hostname ist beispielhaft. Verwenden Sie für die Verbindung den interaktiven Befehl aus dem vorherigen Abschnitt.

App ist ein Beispiel-Scheme. Ersetzen Sie die entsprechenden Parameter durch Workspace, Projekt und Scheme Ihres Projekts, bevor Sie das Archiv erstellen. Beheben Sie zuerst Fehler wegen noch nicht installierter Abhängigkeiten.

fastlane beta nur für Projekte mit einer vorhandenen beta Lane. Prüfen Sie nach erfolgreicher Archivierung den tatsächlichen Status der Verarbeitung beim Verteilungsdienst. Der Start des Befehls bedeutet nicht, dass der Upload abgeschlossen ist.

osxmesh — ssh
$ ssh developer@your-mac-host
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
$ xcodebuild -version
$ cd ~/Projects/App
$ xcodebuild -scheme App archive
** ARCHIVE SUCCEEDED **
$ fastlane beta
Successfully uploaded package to TestFlight

Sichern Sie den vollständigen Befehl, die erste Fehlermeldung und die Fehlerzusammenfassung am Ende. Ein Screenshot mit den Worten „Build fehlgeschlagen“ reicht meist nicht aus, um die Ursache zu finden.

Toolchain und Signierung

Xcode die benötigten Projektdateien bereitstellen

Die grafische Oberfläche von macOS und die Kommandozeile sind vollständig verfügbar. Prüfen Sie beim ersten Öffnen eines Projekts zuerst die Toolchain und richten Sie anschließend die Signierung ein. Welche Xcode-Versionen installiert sind und welche Version gerade ausgewählt ist, prüfen Sie direkt in der Instanz.

Versionen und Abhängigkeiten prüfen

Führen Sie xcodebuild -version und xcode-select -paus. Prüfen Sie in den Xcode-Einstellungen die Auswahl der Kommandozeilenwerkzeuge und stellen Sie sicher, dass SDK und Zielsystembereich zum Projekt passen.

Verwendet das Projekt CocoaPods, Swift Package Manager oder eine andere Abhängigkeitsverwaltung, stellen Sie die Abhängigkeiten zuerst gemäß der Projektdokumentation wieder her. Aktualisieren Sie bei einem Fehler nicht gleich alle Werkzeuge.

Signierzertifikat importieren

Übertragen Sie das Zertifikat auf einem kontrollierten Weg zur Instanz und importieren Sie das benötigte Zertifikat samt privatem Schlüssel in den Schlüsselbund. Bewahren Sie das Passwort für geschützte Dateien über einen separaten Kanal auf.

Ohne den zugehörigen privaten Schlüssel lässt sich keine Signierung mit dieser Identität durchführen. Schreiben Sie private Schlüssel oder Zertifikatspasswörter weder in Repositories noch in den Befehlsverlauf oder öffentliche Ticketanhänge.

Bereitstellungsprofil zuordnen

Importieren Sie das für das Projekt benötigte Bereitstellungsprofil. Prüfen Sie, ob Bundle-ID, Team-ID, Gültigkeitszeitraum und Verteilungsart zum Ziel passen, und kontrollieren Sie anschließend die Signierungseinstellungen aller Targets.

Erstellen Sie zum Einstieg einmal ein nachvollziehbares Archiv in der grafischen Oberfläche. Übernehmen Sie die Parameter erst nach erfolgreicher Prüfung in Skripte oder CI, damit sich die Einstellungen zwischen Oberfläche und Kommandozeile nicht unterscheiden.

Erst klare Konfigurationslücken beheben, dann erneut archivieren
Fehler oder Symptom Zuerst prüfen Nächster Schritt
No signing certificate Enthält der aktuelle Schlüsselbund die benötigte Signieridentität und den zugehörigen privaten Schlüssel? Prüfen Sie importierte Dateien und Gültigkeitszeitraum erneut. Laden Sie nicht einfach immer wieder dasselbe Zertifikat herunter.
No profiles for… Passen App-ID, Team und Verteilungsart des Bereitstellungsprofils zum aktuellen Target? Importieren Sie das passende Bereitstellungsprofil und prüfen Sie die Signierungsauswahl im Projekt.
User interaction is not allowed Welcher Benutzer führt den Build aus? Ist der Schlüsselbund gesperrt? Hat das Signierwerkzeug die nötigen Zugriffsrechte? Prüfen Sie in der Desktop-Oberfläche, ob der Schlüsselbund entsperrt ist und der Zugriff freigegeben wurde. Wiederholen Sie den Vorgang mit demselben Benutzer.
SDK oder Zielversion inkompatibel Prüfen Sie den ausgewählten Xcode-Pfad, die installierten SDKs und das Deployment Target des Projekts. Wählen Sie eine kompatible Toolchain. Prüfen Sie vor einem Upgrade zuerst die Projektabhängigkeiten, statt die Umgebung unüberlegt zu überschreiben.
Projekt hochladen, Build herunterladen

Übertragungsweg und Build-Verzeichnis klar trennen

Speichern Sie Quellcode, Signierungsmaterial und Build-Artefakte getrennt. Erstellen Sie zuerst auf dem Remote-Mac ein Projektverzeichnis und übertragen Sie dann die Dateien. Prüfen Sie nach dem Herunterladen der IPA-Datei Größe und Prüfsumme; der Dateiname allein bestätigt keinen erfolgreichen Transfer.

Projekt auf den Cloud-Mac übertragen

Wenn Sie bereits ein Code-Repository haben, laden Sie das Projekt in der Instanz mit der Authentifizierungsmethode Ihres Teams herunter. Schreiben Sie Zugriffstoken nicht in gemeinsam genutzte Skripte. Bei einem lokalen Verzeichnis können Sie Windows OpenSSH mit scpoder ein SFTP-fähiges Tool für den Upload verwenden.

Führen Sie zuerst im Remote-Terminal mkdir -p ~/Projectsaus. Der folgende PowerShell-Befehl verwendet die drei Variablen, die Sie beim ersten Verbindungsaufbau eingegeben haben, und fragt nach dem lokalen Projektpfad.

$ProjectPath = Read-Host "Lokales Projektverzeichnis eingeben"
scp -P $MacPort -r "$ProjectPath" "${MacUser}@${MacHost}:~/Projects/"

Achtung: Beissh wird der Port mit dem kleingeschriebenen -pangegeben, beiscp mit dem großgeschriebenen -P. Prüfen Sie vor dem Upload das Zielverzeichnis, damit alte Abhängigkeiten und das neue Projekt nicht vermischt werden.

IPA-Datei auf Windows herunterladen

Ein Archiv und die exportierte IPA-Datei sind nicht dasselbe. Schließen Sie zuerst den für Ihr Projekt erforderlichen Exportvorgang ab und prüfen Sie dann im macOS-Terminal mit ls -lh den tatsächlichen Pfad der IPA-Datei.

Geben Sie im folgenden Befehl den absoluten Pfad der IPA-Datei auf dem Remote-Mac sowie ein bereits vorhandenes lokales Zielverzeichnis an. Lassen Sie Anführungszeichen bei Pfaden mit Leerzeichen stehen und prüfen Sie die Datei nach dem Download.

$IpaPath = Read-Host "Absoluten IPA-Pfad auf dem Mac eingeben"
$SavePath = Read-Host "Lokales Zielverzeichnis eingeben"
scp -P $MacPort "${MacUser}@${MacHost}:$IpaPath" "$SavePath"

Führen Sie zur Prüfung auf dem Mac shasum -a 256und unter Windows Get-FileHash -Algorithm SHA256aus und vergleichen Sie die Ergebnisse für dieselbe Datei.

Probleme gezielt beheben

Zuerst prüfen, ohne die Umgebung zu beschädigen

Notieren Sie zuerst, was Sie gerade getan haben, als das Problem auftrat. Probieren Sie anschließend Schritte aus, die sich rückgängig machen lassen. Ein schwarzer Bildschirm, verschobene Tastatureingaben oder zu wenig Speicherplatz sind kein Grund für eine Neuinstallation. Diese kann die bestehende Umgebung beeinträchtigen und sollte nicht der erste Schritt sein.

Browser-Desktop bleibt schwarz oder zeigt lange kein Bild

Prüfen Sie zuerst, ob die Instanz erreichbar ist. Schließen Sie den alten Verbindungstab und öffnen Sie den Remote-Desktop erneut über die Instanzdetails. Kontrollieren Sie, ob Ihr lokales Netzwerk lange Verbindungen einschränkt. Testen Sie bei Bedarf ein anderes Netzwerk oder eine andere Browsersitzung.

Wenn SSH funktioniert, halten Sie fest, dass nur der Desktop ausfällt, die Kommandozeile aber erreichbar ist. Sichern Sie laufende Aufgaben und starten Sie die Instanz nicht wiederholt neu. Wenn beide Zugangswege ausfallen, übermitteln Sie zusammen mit dem Ticket den Instanzstatus, den Wortlaut der Fehlermeldung und den Zeitpunkt des Auftretens.

Tastatursymbole verschoben, Tastenkombinationen ohne Wirkung

Klicken Sie zuerst in ein Eingabefeld auf dem Remote-Mac, wechseln Sie zur englischen Eingabe und testen Sie Buchstaben, Zahlen und Satzzeichen. Prüfen Sie die Eingabequelle unter macOS und das Tastaturlayout unter Windows. Ein Eingriff der lokalen Eingabemethode und ein falsches Remote-Layout sind getrennt zu untersuchen.

Die Tasten für Sonderfunktionen werden unter Windows und macOS unterschiedlich verwendet. Manche Tastenkombinationen fängt auch der lokale Browser ab. Führen Sie dieselbe Aktion zunächst über das App-Menü aus und prüfen Sie dann die Tastenbelegung. Geben Sie kein Passwort ein, wenn der Fokus nicht eindeutig ist.

Zu wenig Speicherplatz beim Archivieren

Führen Sie im macOS-Terminal df -haus, um zuerst das betroffene Volume zu ermitteln. Prüfen Sie alte Archive, exportierte Dateien, Simulatordaten und Projekt-Caches. Vergewissern Sie sich vor dem Bereinigen, dass Sie die Dateien nicht mehr benötigen. Zertifikate, Quellcode und die einzige Sicherung dürfen nicht als Cache gelöscht werden.

Wenn Sie tatsächlich mehr Speicherplatz benötigen, prüfen Sie die Erweiterungen um +1TB SSD oder +2TB SSD. Kontrollieren Sie nach der Erweiterung, ob und wo das zusätzliche Laufwerk eingebunden wurde und ob Ihr Projekt den neuen Speicherort nutzt. Gehen Sie nicht allein aufgrund eines Kaufeintrags davon aus, dass das aktuelle Volume größer ist.

SSH erreicht den Host, aber die Anmeldung schlägt fehl

Prüfen Sie nacheinander den Benutzernamen der Instanz, den Port und die aktuelle Authentifizierungsmethode. Achten Sie darauf, keine zusätzlichen Leerzeichen mitzukopieren. Bei Schlüsselanmeldung kontrollieren Sie den angegebenen privaten Schlüssel und seine Berechtigungen. Fügen Sie den privaten Schlüssel niemals in den Tickettext ein.

Nach einer Neuinstallation können sich die Verbindungsdaten ändern. Rufen Sie die Instanzdetails erneut auf und notieren Sie den genauen Wortlaut des Fehlers. Ein Authentifizierungsfehler ist nicht dasselbe wie eine Zeitüberschreitung. Schreiben Sie deshalb nicht nur „SSH funktioniert nicht“ in das Ticket.

Arbeitsumgebung bis zum Projektende erhalten

Laufzeit in der Bestellung prüfen, vor Neuinstallation sichern

Die Knoten sind 365 Tage im Jahr in Betrieb. Ihre Mietberechtigung richtet sich weiterhin nach dem Bestellzeitraum. Prüfen Sie vor dem Start längerer Aufgaben das in der Konsole angezeigte Laufzeitende. Warten Sie mit der Verlängerung nicht, bis der letzte Build bereits läuft.

Laufzeitende prüfen

Melden Sie sich an der Konsole an und prüfen Sie die aktuelle Laufzeit und das Enddatum in der Bestellung oder den Instanzdetails. Wenn Sie über Zeitzonen hinweg arbeiten, beachten Sie die angezeigte Uhrzeit und Zeitzone. Setzen Sie den Zahlungseingang nicht mit dem Laufzeitende gleich.

Sichern Sie Quellcode, Signierungsmaterial, Umgebungskonfiguration und Build-Artefakte getrennt. Betrachten Sie eine abgelaufene Instanz nicht als dauerhaften Dateispeicher.

Meine Bestellungen ansehen

Nächsten Abrechnungszeitraum wählen

Sie können täglich, wöchentlich, monatlich oder vierteljährlich abrechnen; alle Beträge werden in US-Dollar angegeben. Prüfen Sie in der Konsole die für Ihre Bestellung verfügbaren Verlängerungsoptionen und Preise und wählen Sie den Zeitraum passend zur Dauer Ihrer Aufgabe.

Als Zahlungsmethoden stehen ausschließlich USDT-TRC20 sowie Visa, Mastercard und Amex über Stripe zur Verfügung. Welche Zahlungsoptionen tatsächlich verfügbar sind, richtet sich nach der Antwort des Backend-Gateways.

Alle Preise ansehen

Vor der Neuinstallation Sicherungen auflisten

Bei einer Neuinstallation wird die Umgebung neu eingerichtet; vorhandene Dateien bleiben dabei nicht erhalten. Stoppen Sie zuerst den Build, sichern Sie Projekt, Zertifikate und Artefakte und notieren Sie anschließend Toolversionen, Abhängigkeiten und Startskripte.

Prüfen Sie in den Instanzdetails, welche Systemaktionen verfügbar sind. Vergewissern Sie sich vor dem Fortfahren, dass Sie die richtige Instanz ausgewählt und die Risikohinweise gelesen haben. Prüfen Sie danach erneut Verbindungsdaten und Toolchain.

Meine Instanzen verwalten
Geprüfte Ergebnisse gemeinsam übergeben

Ein Support-Ticket, mit dem die Fehlersuche weitergeht

Bei technischen Fragen zu einer Bestellung melden Sie sich bevorzugt an der Konsole an und reichen Sie dort ein Ticket ein, damit es der richtigen Instanz zugeordnet wird. Bei Fragen vor dem Kauf, zur Abrechnung oder bei Anmeldeproblemen schreiben Sie an support@osxmesh.com. Senden Sie keine Passwörter, privaten Schlüssel, vollständigen Kartennummern oder Zertifikatspasswörter.

  1. 01

    Betroffene Instanz angeben

    Geben Sie Bestellnummer oder Instanzkennung, Modell und Standort an. Verfügbar sind Singapur, Tokio, Seoul und Hongkong sowie die Modelle Mesh M4 und Mesh M4 Pro. „Mein Mac“ allein reicht nicht aus.

  2. 02

    Ablauf beschreiben

    Geben Sie Zeitpunkt und Zeitzone, erwartetes und tatsächliches Ergebnis sowie die letzte erfolgreiche Aktion an. Fügen Sie die kürzesten Schritte zur Wiederholung des Problems bei und nennen Sie, ob es durchgehend oder nur gelegentlich auftritt.

  3. 03

    Diagnosedaten beifügen

    Bei Verbindungsproblemen nennen Sie Browser- und Systemversion, fügen Sie einen Screenshot der Fehlermeldung bei und geben Sie an, ob SSH funktioniert. Bei Build-Problemen gehören Toolversionen, ausgeführter Befehl und die erste Fehlermeldung dazu. Schwärzen Sie sensible Informationen, bevor Sie Screenshots oder Protokolle hochladen.

Die nächste Fehlersuche auf bisherigen Ergebnissen aufbauen

Fassen Sie Instanz, Symptom und bereits getestete Schritte in einem Ticket zusammen. Auf der Kontaktseite erfahren Sie, welche Angaben bei Fragen vor dem Kauf, zur Abrechnung oder zu technischen Problemen benötigt werden.