12 Ekim 2026 · Mobil uygulama geliştirme
iPhone Duo için App Store başvuruları açıldı: Katlanabilir iPhone'a uygulamanızı nasıl hazırlarsınız?
Apple, katlanabilir iPhone Duo için optimize edilmiş uygulamaların App Store'a gönderilmesine izin verdi; cihaz 23 Ekim'de satışa çıkıyor. Hangi SDK ile derlediğiniz artık uygulamanızın ekranda nasıl görüneceğini doğrudan belirliyor.
Apple'ın ilk katlanabilir telefonu iPhone Duo için geri sayım başladı. Ön siparişler 16 Ekim'de açılıyor, cihaz 23 Ekim'de kullanıcılara ulaşacak. Geliştiriciler açısından asıl tarih ise 5 Ekim'di: Apple o gün iPhone Duo için optimize edilmiş uygulama ve oyunların App Store Connect üzerinden incelemeye gönderilebileceğini duyurdu ve aynı gün Xcode 27.1'in ilk sürüm adayını (RC) yayımladı.
İlk bakışta yeni bir ekran boyutu daha gibi görünebilir. Ama iPhone Duo, iPhone uygulamalarının yıllardır dayandığı birkaç örtük varsayımı ("iPhone dar ekrandır", "regular genişlik iPad demektir", "araç çubukları üstte ve altta durur") bozuyor. Bu yazıda neyin değiştiğini ve uygulamanızı hazırlamak için pratikte ne yapmanız gerektiğini özetliyorum.
Cihaz ve takvim
MacRumors'ın aktardığına göre iPhone Duo'da ortası neredeyse belli olmayan bir kat iziyle 7,6 inçlik bir iç ekran ve 5,4 inçlik bir dış ekran bulunuyor. Takvim şöyle:
- 5 Ekim: iPhone Duo uygulamaları için başvurular açıldı, Xcode 27.1 RC yayımlandı.
- 16 Ekim: Ön siparişler başlıyor.
- 23 Ekim: Cihaz satışta.
- Nisan 2027: App Store Connect'e gönderilen uygulama ve oyunlarda iPhone Duo ekran görüntüleri zorunlu hale geliyor.
AppleInsider'ın da altını çizdiği gibi, duyuruda hızlandırılmış bir inceleme yolu yok. Yani lansman gününde "optimize edilmiş" görünmek istiyorsanız başvuruyu bu hafta yapmanız gerekiyor; onayın zamanında gelmesi garanti değil.
Hangi SDK ile derlediğiniz her şeyi belirliyor
Apple'ın hazırlık sayfasındaki en önemli bilgi, uygulamanın davranışının derlendiği SDK'ya göre üç kademede değişmesi:
- iOS 26 SDK veya öncesi: Uygulama çalışır ama uyum sağlamaz. Cihaz açıkken iç ekranın ortasında, etrafı boş bir pencere olarak görünür; MacRumors bunu "siyah kenarlıklar" olarak tarif ediyor.
- iOS 27 SDK: Uygulama iç ekranın büyük bölümünü doldurur ama sağ kenardaki durum çubuğunu hâlâ dışarıda bırakır.
- iOS 27.1 SDK ve sonrası: "iPhone Duo için optimize" kabul edilir. Uygulama ekranın tamamını kullanır; araç çubukları ve sekme çubukları durum çubuğunun altında dikey olarak yerleşir.
Son madde kritik: 27.1 ile derlediğiniz anda sistem bileşenleri sizin yerinize yer değiştirmeye başlıyor. Uygulamanız bu dikey çubuklarla uyumlu değilse, yeniden derlemek tek başına sorunu çözmek yerine yeni sorunlar çıkarabilir. Xcode 27.1 ile derlenen uygulamalar App Store sayfasında "iPhone Duo için optimize edildi" rozeti de alıyor; bu, kullanıcıya görünen bir fark.
Kodda neyi değiştirmelisiniz?
Apple'ın kontrol listesi aslında yıllardır önerilen "uyarlanabilir düzen" pratiklerinin daha katı bir hali. Öne çıkanlar:
Boyutu ekrandan değil, pencereden okuyun
UIScreen.main.bounds artık güvenilir bir kaynak değil. Boyutu view.bounds ya da window.bounds üzerinden, SwiftUI'da GeometryReader veya onGeometryChange ile okuyun. Pencere oluştururken de ekranı değil sahneyi kullanın:
// Eski
let window = UIWindow(frame: UIScreen.main.bounds)
// Yeni
let window = UIWindow(windowScene: windowScene)Boyutu açılışta bir kez okumak yetmiyor; cihaz katlanıp açıldıkça değişiyor. Boyuta bağlı düzeni viewDidLayoutSubviews içinde, boyut değişiminde çalışması gereken işi viewWillTransition(to:with:) içinde yapın.
Yöne değil, alana bakın
UIDevice.current.orientation gibi yön bilgilerine göre düzen kararı vermeyi bırakın; genişlik ile yüksekliği karşılaştırın. bounds.height == 844 gibi bilinen iPhone ölçülerine dayanan kontroller de doğrudan listeden çıkarılmalı.
"regular" artık iPad demek değil
Bence en çok kodu etkileyecek madde bu. Apple, iPhone Duo ve yeniden boyutlandırılabilir iPhone Mirroring ile bir iPhone uygulamasının her türlü boyut sınıfı kombinasyonunu alabileceğini söylüyor. horizontalSizeClass == .regular gördüğünde iPad düzenini açan kod, artık o düzeni iPhone'da da çalıştıracak. userInterfaceIdiom ile .phone/.pad ayrımı yapıp düzen seçmek de aynı şekilde riskli.
Tasarım tarafı: kontroller kenara taşınıyor
Apple'ın "Design for iPhone Duo" oturumu, kat yerleri yerine iki boyut sınıfına odaklanmayı öneriyor: dış ekran için compact, iç ekran için regular genişlik. Dikkat çeken birkaç nokta:
- Cihaz kapalıyken araç çubukları ve sekme çubuğu üstten ve alttan sağ kenara geçiyor. Yer kalmazsa kontroller taşma menüsüne toplanıyor.
- Sayfaların (sheet), uyarıların ve menülerin etkileşimli öğeleri sistem tarafından otomatik olarak menteşeden uzaklaştırılıyor. Kaydırılabilir içeriğin katlanma bölgesinden kaçması gerekmiyor.
- İç ekranda bölünmüş görünüm, iki sütunlu düzen veya kenar çubuğu olarak sunulan sekme çubuğu öneriliyor; ama hiyerarşi her iki ekranda aynı kalmalı, bir özellik tek bir pozisyona bağlanmamalı.
- Yatay safe area inset'leri artık çok daha önemli; içeriği kontrollerin altından kaydıran şey bunlar.
Pratik sonuç şu: Standart UIKit/SwiftUI bileşenleriyle yazılmış uygulamalar bu davranışların çoğunu bedavaya alıyor. Kendi özel araç çubuğunu, sabit konumlu alt menüsünü veya sabit genişlikli düzenini kuranlar ise asıl işi yapacak olanlar.
Test: simülatör ve yapay zeka yardımı
Apple test için üç yol öneriyor: Device Hub'daki yeniden boyutlandırılabilir iOS simülatörü, macOS 27'de pencereyi uç boyutlara çekebildiğiniz iPhone Mirroring ve Xcode 27.1'deki iPhone Duo simülatörü. Gerçek deneyime en yakın olanın sonuncusu olduğu belirtiliyor.
İlginç bir ayrıntı: Apple, Xcode'daki kodlama asistanına "get my app ready for iPhone Duo" demenizi öneriyor; başka bir ajan kullanıyorsanız ilgili yeteneği xcrun agent skills export ile dışa aktarabiliyorsunuz. Apple bu aracın sorunların çoğunu bulduğunu ama hepsini bulmadığını açıkça yazıyor; yani manuel kontrol hâlâ şart.
React Native ve Expo kullananlar için
Çapraz platform geliştiriciler de bu dalgadan etkileniyor. Beta aşamasındaki Expo SDK 58, iOS 27 SDK ile derlenen uygulamaların sahne tabanlı yaşam döngüsüne ve yeniden boyutlandırılabilir iPhone davranışına otomatik geçtiğini belirtiyor; prebuild artık SceneDelegate.swift üretiyor. Expo'ya göre Xcode 27'li EAS Build imajları henüz "yakında" aşamasında. React Native tarafında ise 0.88 hâlâ sürüm adayı aşamasında (son etiket 7 Ekim tarihli rc.4). Yani RN ekiplerinin ekran boyutunu Dimensions ile bir kez okuyup sakladığı yerleri ve sabit genişlikli bileşenleri şimdiden gözden geçirmesi mantıklı.
Neden önemli?
iPhone Duo'nun satış rakamlarını bugünden bilemeyiz; belki küçük bir kitleye hitap edecek. Ama değişiklik cihazdan büyük: Apple iPhone Mirroring ve yeniden boyutlandırılabilir simülatörle birlikte "iPhone uygulaması sabit boyutlu bir ekrandır" fikrini fiilen emekliye ayırıyor. Nisan 2027'deki ekran görüntüsü zorunluluğu da bunun geçici bir deney olmadığını gösteriyor.
Önerim şu sırayla ilerlemek:
- Uygulamayı Xcode 27.1 ile derleyip iPhone Duo simülatöründe tüm pozisyonlarda açın.
UIScreen.main, yön kontrolleri ve.regular == iPadvarsayımlarını kod tabanında arayın.- Özel araç çubuklarını ve alt menüleri dikey yerleşimde test edin.
- Lansman gününe yetişmek istiyorsanız başvuruyu inceleme süresini hesaba katarak erken yapın.
Kısacası iPhone Duo'ya hazırlanmak, aslında uygulamanızı her boyuta hazırlamak demek; ve bu iş er ya da geç zaten yapılacaktı.
Kaynaklar
- Prepare your app for iPhone Duo - Apple Developer
- Design for iPhone Duo - Tech Talks - Apple Developer
- Apple invites developers to submit iPhone Duo-ready apps to the App Store - 9to5Mac
- Apple Announces iPhone Duo Apps Can Now Be Submitted to App Store - MacRumors
- Developers can now submit iPhone Duo apps & hope for approval in time - AppleInsider
- Expo SDK 58 Beta is now available - Expo changelog
- Releases · react/react-native