Migrieren einer iOS-App zu WinUI 3

Wenn Sie über eine iOS-App verfügen und sie auf Windows bringen möchten, können KI-Tools die meisten Aufgaben der Zuordnung erledigen. Diese Seite enthält die wichtigsten Konzeptübersetzungen von UIKit/SwiftUI zu WinUI 3. Verwenden Sie diese Tabellen als Kontext, wenn Sie Ihren KI-Agent auffordern – die Bereitstellung exakter API-Zuordnungen im Vorfeld erzeugt viel genauere Ausgabe als die Frage nach einer generischen Konvertierung.

Installieren Sie zuerst das WinUI-Agent-Plug-In , um Ihrem Agent genaue WinUI 3-Kenntnisse zu geben:

gh copilot plugin install winui@awesome-copilot

Konzeptzuordnung

iOS (UIKit / SwiftUI) WinUI 3-Entsprechung Hinweise
UIViewController Page WinUI-Seiten werden über Frame navigiert.
UINavigationController Frame + NavigationView Verwendung Frame.Navigate() für Seitenübergänge
UITabBarController NavigationView (obere oder linke Registerkarten)
UITableView ListView Verwendung ObservableCollection<T> für die Datenbindung
UICollectionView GridView
UIAlertController ContentDialog Muss dem aktuellen XamlRoot untergeordnet sein
UILabel TextBlock
UITextField TextBox
UIButton Button
UIImageView Image
UIStackView StackPanel Festlegen Orientation auf Horizontal oder Vertical
Auto Layout Grid / StackPanel / RelativePanel XAML-Layout ist zeilen-/spaltenbasiert
@State / @Binding (SwiftUI) INotifyPropertyChanged / ObservableProperty (CommunityToolkit.Mvvm)
NSUserDefaults ApplicationData.Current.LocalSettings
URLSession HttpClient System.Net.Http.HttpClient verwenden
NotificationCenter Ereignisse oder WeakReferenceMessenger (CommunityToolkit.Mvvm)
DispatchQueue.main.async DispatcherQueue.TryEnqueue
AppDelegate.applicationDidFinishLaunching App.OnLaunched
SceneDelegate / windowScene MainWindow / AppWindow
FileManager StorageFolder / StorageFile
UserNotifications AppNotificationManager (Microsoft.Windows.AppNotifications)

Startaufforderung

Verwenden Sie diese Eingabeaufforderung, um Ihrem KI-Agent den Kontext zu geben, den er benötigt, bevor Sie eine Migration starten:

I'm migrating an iOS app to WinUI 3 using the Windows App SDK.

The app is written in [Swift / Objective-C] using [UIKit / SwiftUI].

Apply these mappings:
- UIViewController → Page, navigated via Frame
- UINavigationController → Frame + NavigationView
- UITableView → ListView with ObservableCollection<T>
- UIAlertController → ContentDialog (parented to XamlRoot)
- NSUserDefaults → ApplicationData.Current.LocalSettings
- URLSession → System.Net.Http.HttpClient
- DispatchQueue.main.async → DispatcherQueue.TryEnqueue
- @State / @Binding → INotifyPropertyChanged via CommunityToolkit.Mvvm

Use Microsoft.UI.Xaml.* namespaces throughout — never Windows.UI.Xaml.*.
Generate C# — not Swift.

Was sich nicht direkt abbilden lässt

Einige iOS-Konzepte verfügen nicht über eine direkte WinUI-Entsprechung: