.NET MAUI

.NET MAUI uygulamanızı Xcode 27 için UIKit scene yaşam döngüsüne hazırlayın

Xcode 27 ile derlenen iOS uygulamaları UIKit scene yaşam döngüsünü zorunlu kılıyor; aksi halde uygulama splash ekranından sonra kayboluyor. Microsoft, .NET MAUI projelerini bu geçişe hazırlayan bir agent skill ve elle yapılacak adımları anlatıyor. Mevcut AppDelegate davranışlarının scene olaylarına taşınması da bu yazıda ele alınıyor.

.NET Blog Gerald Versluis
Yayın tarihi
Okuma süresi
12 dk okuma
agent çalıştırması #6
agent çalıştırması #6
Orijinale git devblogs.microsoft.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Xcode 27 ile derlenen uygulamalar için Platforms/iOS/SceneDelegate.cs içinde MauiUISceneDelegate'ten türeyen ve [Register("SceneDelegate")] ile kaydedilen bir sınıf gerekir.
  • Info.plist'e UIApplicationSceneManifest eklenmeli; UISceneConfigurationName değeri __MAUI_DEFAULT_SCENE_CONFIGURATION__ olarak kalmalıdır.
  • Debug, Release ve özel yapılandırmalardaki tüm plist dosyalarına aynı manifest eklenmeli; yalnızca varsayılan dosyayı güncellemek yetmez.
  • .NET MAUI paketleri 10.0.110 veya üzeri olmalı; daha düşük sürümde App Actions ve WebAuthenticator yönlendirmesi eksik kalabilir.
  • AppDelegate'teki OpenUrl ve ContinueUserActivity gibi callback'ler SceneOpenUrl ve SceneContinueUserActivity gibi scene olaylarına taşınmalı.
  • iOS için en az 15.0, Mac Catalyst için en az 17.0 SupportedOSPlatformVersion değeri ayarlanmalı; eski sürümleri destekleyen uygulamalar 26.x SDK'da kalmalı.

Xcode 27 ile derlenen iOS ve Mac Catalyst uygulamaları UIKit scene yaşam döngüsünü kullanmak zorunda. Bu adımı atlayan .NET MAUI uygulamaları iOS 27 cihazlarda splash ekranından sonra açılmadan kapanabiliyor. Sorun genellikle cihaz log'unda görülen "UIScene life cycle is required" mesajıyla ortaya çıkıyor.

Çözüm için MauiUISceneDelegate'ten türeyen bir SceneDelegate sınıfı, bu sınıfa uygun bir UIApplicationSceneManifest girdisi ve her shipping yapılandırmasındaki plist dosyası gerekiyor. .NET MAUI paketlerinin 10.0.110 veya üzeri olması, iOS için en az 15.0 ve Mac Catalyst için en az 17.0 hedefi de bu geçişin parçası. AppDelegate'teki URL, kullanıcı aktivitesi ve arka plan callback'leri scene olaylarına taşınmalı; cold start bağlantıları için SceneWillConnect kullanılmalı. Microsoft ayrıca bu işi yapan deneysel bir maui-xcode27-migration agent skill'i sunuyor; yine de değişiklikleri gözden geçirmek ve kimlik doğrulama ile derin bağlantıları test etmek gerekiyor.

Gerçek dünyada kullanımı

  • Kimlik doğrulama geri dönüşleri ve derin bağlantılar kullanan kurumsal bir .NET MAUI uygulamasını Xcode 27 ile yeniden yayınlamak.
  • Birden fazla yapılandırma (Debug, Release, müşteriye özel) kullanan bir MAUI uygulamasında iOS ve Mac Catalyst hedeflerini aynı anda güncellemek.
  • Ana ekran kısayolları (App Actions) ve bildirim tıklamasıyla açılan ekranlar içeren bir mobil uygulamada soğuk başlatma akışını doğrulamak.

Neden önemli

Xcode 27 ile derlenen bir MAUI uygulaması scene manifest'i olmadan iOS 27 cihazlarda açılmayabilir. AppDelegate'te yazılmış URL, oturum açma ve bildirim mantığı scene'e taşınmadığında sessizce çalışmayı bırakabilir.

Bu özet, .NET Blog üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü