xcsync ist ein .NET-Tool, das es Entwicklern ermöglicht, Xcode für die Verwaltung von Apple-spezifischen Dateien mit .NET-Projekten zu nutzen. Das Tool generiert ein temporäres Xcode-Projekt aus einem .NET-Projekt und synchronisiert Änderungen an den Xcode-Dateien zurück in das .NET-Projekt.
Wichtig
xcsync befindet sich derzeit in der Preview-Phase.
Unterstützte Dateitypen sind unter anderem:
- Ressourcenkatalog
- Plist
- Storyboard
- Xib
Das Tool verfügt über zwei Befehle: generate
und sync
. Verwenden Sie generate
, um ein Xcode-Projekt aus einem .NET-Projekt zu erstellen und sync
, um Änderungen im Xcode-Projekt zurück in das .NET-Projekt zu übertragen.
Hinweis
Dieses Tool ist aufgrund der Interaktionen mit Xcode nur für macOS verfügbar.
Installation
Installieren Sie die Vorschau von .NET xcsync global mit dem folgenden Befehl:
dotnet tool install dotnet-xcsync -g --prerelease --add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json
Verbrauch
- Die .NET MAUI-Erweiterung bietet Support für xcsync. Stellen Sie sicher, dass Sie über die aktuelle Version verfügen. Die xcsync-Befehle in der .NET MAUI-Erweiterung sind nur verfügbar, wenn Sie Visual Studio Code unter macOS verwenden.
- Öffnen Sie die Befehlspalette (Cmd + Umschalt + P) und suchen Sie nach den Befehlen
.NET MAUI: xcsync - Generate an Xcode project
und .NET MAUI: xcsync - Sync from an Xcode project
.
Problembehandlung
Um Details zu Fehlern im Zusammenhang mit xcsync zu sehen, navigieren Sie zum Fenster Ausgabe (Cmd + Umschalt + U) und wählen Sie .NET MAUI – xcsync in der Dropdown-Liste. Wenn Sie mit Problemen konfrontiert sind, melden Sie bitte ein Problem.
Feedback geben
Überprüfen Sie vorhandene bekannte Probleme , bevor Sie ein neues Problem oder einen neuen Vorschlag einreichen.
Installation
Installieren Sie die Vorschau von .NET xcsync global mit dem folgenden Befehl:
dotnet tool install dotnet-xcsync -g --prerelease --add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json
Übersicht
xcsync generate [-p|--project <PROJECT>]
[-tfm|--target-framework-moniker <FRAMEWORK>]
[-t|--target <TARGET_XCODE_DIRECTORY>] [-f|--force]
[-o|--open] [-v|--verbosity <LEVEL>]
[-d|--dotnet-path <PATH>]
xcsync sync [-p|--project <PROJECT>]
[-tfm|--target-framework-moniker <FRAMEWORK>]
[-t|--target <TARGET_XCODE_DIRECTORY>] [-v|--verbosity <LEVEL>]
xcsync -h|--help
Optionen
-p|--project <PROJECT>
Die zu erstellende Projektdatei. Unterstützte Projekttypen sind .NET MAUI-Projekte oder jedes .NET-Projekt, das auf eine unterstützte Plattform abzielt (iOS, tvOS, macOS, MacCatalyst).
-tfm|--target-framework-moniker <FRAMEWORK>
Rufen Sie das Tool für ein bestimmtes Framework auf. Das Framework muss in der Projektdatei definiert werden. Beispiele: net9.0-ios
, net9.0-maccatalyst
. Erforderlich, wenn das .NET-Projekt mehrere Ziel-Frameworks unterstützt (z.B. ein .NET MAUI-Projekt mit mehreren Ziel-Frameworks). Wenn es sich um ein Projekt mit nur einer Plattform handelt, ist der Standardwert das in der Projektdatei angegebene einzelne Ziel-Framework.
-t|--target <TARGET_XCODE_DIRECTORY>
Das Verzeichnis, in dem das generierte Xcode-Projekt abgelegt werden soll. Der Standardwert ist (*_$(IntermediateOutputPath)_/xcsync*)
.
-f|--force
Erzwingt das Überschreiben eines bestehenden Xcode-Projekts. Der Standardwert ist False
.
-o|--open
Öffnet das generierte Projekt in Xcode. Der Standardwert ist False
.
-v|--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad für den Befehl fest. Zulässige Werte sind Detailed
, Diagnostic
, Minimal
, Normal
, Quiet
. Der Standardwert ist Normal
.
-d|--dotnet-path <PATH>
Pfad zum .NET SDK. Standardwert ist der Pfad vom übergeordneten Prozess, wenn er dotnet
ist, andernfalls fällt er auf dotnet
auf PATH zurück.
-h|--help
Zeigt Hilfe- und Nutzungsinformationen an.
Beispiele
Generieren und öffnen Sie ein Xcode-Projekt für ein .NET MAUI-Projekt, das die Projektdatei im aktuellen Verzeichnis verwendet, die das net9.0-ios
TFM unterstützt:
xcsync generate -tfm net9.0-ios
Generieren und öffnen Sie ein Xcode-Projekt für ein .NET MAUI-Projekt, das den net9.0-ios
TFM unterstützt:
xcsync generate -p path/to/maui.csproj -tfm net9.0-ios
Synchronisieren Sie Änderungen aus einem generierten Xcode-Projekt im Standard-Speicherort ($(IntermediateOutputPath)/xcsync) zurück zu einem .NET MAUI-Projekt, das den net9.0-ios
TFM unterstützt:
xcsync sync -p path/to/maui.csproj -tfm net9.0-ios
xcsync ist Open Source. Für weitere Informationen oder um ein Problem zu melden, besuchen Sie bitte https://github.com/dotnet/xcsync.