Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir iOS uygulamanız varsa ve uygulamayı Windows getirmek istiyorsanız, yapay zeka araçları eşleme çalışmalarının çoğunu yapabilir. Bu sayfada UIKit/SwiftUI'den WinUI 3'e anahtar kavram çevirileri sağlanır. Yapay zeka aracınızı isterken bağlam olarak bu tabloları kullanın; tam API eşlemeleri sağlandığında genel dönüştürme istemekten çok daha doğru çıktılar elde edilir.
Aracınıza doğru WinUI 3 bilgisi vermek için önce WinUI aracı eklentisini yükleyin:
gh copilot plugin install winui@awesome-copilot
Kavram eşleme
| iOS (UIKit / SwiftUI) | WinUI 3 eşdeğeri | Notlar |
|---|---|---|
UIViewController |
Page |
WinUI sayfaları arasında Frame aracılığıyla gezinilir |
UINavigationController |
Frame + NavigationView |
Sayfa geçişleri için Frame.Navigate() kullanın |
UITabBarController |
NavigationView (üst veya sol sekmeler) |
|
UITableView |
ListView |
Veri bağlama için ObservableCollection<T> kullanın |
UICollectionView |
GridView |
|
UIAlertController |
ContentDialog |
Geçerlinin üst öğesi olmalıdır XamlRoot |
UILabel |
TextBlock |
|
UITextField |
TextBox |
|
UIButton |
Button |
|
UIImageView |
Image |
|
UIStackView |
StackPanel |
Orientation değerini Horizontal veya Vertical olarak ayarlayın |
Auto Layout |
Grid / StackPanel / RelativePanel |
XAML düzeni satır/sütun tabanlıdır |
@State
/
@Binding (SwiftUI) |
INotifyPropertyChanged
/
ObservableProperty (CommunityToolkit.Mvvm) |
|
NSUserDefaults |
ApplicationData.Current.LocalSettings |
|
URLSession |
HttpClient |
System.Net.Http.HttpClient komutunu kullanma |
NotificationCenter |
Olaylar veya WeakReferenceMessenger (CommunityToolkit.Mvvm) |
|
DispatchQueue.main.async |
DispatcherQueue.TryEnqueue |
|
AppDelegate.applicationDidFinishLaunching |
App.OnLaunched |
|
SceneDelegate / windowScene |
MainWindow / AppWindow |
|
FileManager |
StorageFolder / StorageFile |
|
UserNotifications |
AppNotificationManager (Microsoft.Windows.AppNotifications) |
Başlangıç istemi
Geçişe başlamadan önce yapay zeka aracınıza gereken bağlamı vermek için bu istemi kullanın:
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.
Doğrudan eşleşmeyenler
Bazı iOS kavramlarının doğrudan WinUI eşdeğeri yoktur:
-
Uygulama içi satın almalar: aracılığıyla
Windows.Services.Storekullanın - Anında iletme bildirimleri (APNs): Windows Push Notification Services (WNS) kullanın
- HealthKit / ARKit / CoreML: Windows ilgili teknoloji alanlarına sahiptir — Windows ML, Windows Mixed Reality ve Windows Algılayıcılar — bunlar doğrudan eşdeğer değildir ve platforma özgü uygulama gerektirir
- Uygulama Klipleri: Doğrudan eşdeğeri yok — web'den uygulamaya bağlamayı göz önünde bulundurun
İlgili içerik
Windows developer