iPhone Duo dla programistów: problem 1,42 i luka w SDK
Co iPhone Duo zmienia dla programistów iOS? Dwa ekrany o kształcie, jakiego nie miał żaden iPhone, po raz pierwszy Split View i multitasking z dwoma oknami na telefonie, StandBy na ekranie zwróconym do pomieszczenia, Touch ID zamiast Face ID oraz data premiery 23 października wraz z iOS 27.1. Ani informacje o wydaniu iOS 27, ani te dotyczące Xcode 27 nie wspominają o urządzeniu, ani w RC z 9 września, ani w wydaniu finalnym z 14 września. Strona Apple dla programistów datuje betę Xcode 27.1 oraz przewodnik po przygotowaniu aplikacji na „later this month”; przewodnik projektowy trafił do Human Interface Guidelines jeszcze tego samego popołudnia, a sześć Tech Talków jest już dostępnych wraz z regułami: aplikacja działa na urządzeniu bez ponownej kompilacji, dopiero SDK iOS 27.1 sięga krawędzi ekranu, a ekran wewnętrzny raportuje klasy rozmiaru regular w obu wymiarach.145131419 Specyfikacja daje liczby, a talki dają reguły.
Apple ogłosiło iPhone’a Duo 9 września 2026 i tego samego dnia opublikowało jego specyfikację techniczną.12 Historia dla programistów wypadła skromniej niż ta dla klientów: jedno zdanie o SDK i Device Hub, jedno o aplikacjach firm trzecich, które już się dostosowały, i sześć tygodni do premiery urządzenia. Wczesnym popołudniem Apple dołożyło stronę dla programistów i sześć Tech Talków, a o 16:10 czasu pacyficznego przewodnik projektowy — beta SDK i przewodnik po przygotowaniu wciąż pozostawały w zapowiedziach.131416 Właśnie ta luka jest powodem, by przeliczyć wszystko teraz, zamiast czekać na przykładowy projekt.
TL;DR: Rozmiar screenshotu dla ekranu wewnętrznego w App Store Connect, opublikowany po południu w dniu keynote’u, wynosi 2007 na 2853 piksele, czyli 669 na 951 punktów przy 3x na panelu 1878 na 2670 pikseli; wnioskuję z tego, że ekran renderuje w 669 na 951 punktów i skaluje wynik w dół o około 6,4 procent w każdym wymiarze, tak jak robiły to iPhone’y Plus — do potwierdzenia przez Device Hub. Proporcje wynoszą 1,42, blisko stosunku pierwiastka z dwóch, na którym opiera się papier serii A.217 Ekran zewnętrzny ma 1398 na 2034 piksele, czyli 466 na 678 punktów przy 3x bez skalowania — szerszy niż iPhone 18 Pro i o ponad jedną piątą krótszy.2317 Reguły wyznaczają Tech Talki Apple. Aplikacja zbudowana bez SDK iOS 27 działa w znanym rozmiarze, gdy urządzenie jest rozłożone, SDK iOS 27 rozciąga ją w lewo od paska stanu, a dopiero SDK iOS 27.1 sięga krawędzi ekranu. Ekran wewnętrzny raportuje klasy rozmiaru regular w obu kierunkach. Aplikacja, która obsługuje wiele instancji na iPadzie, obsłuży je również tutaj, przy czym nowe okna są zarezerwowane dla ekranu wewnętrznego, a akcesorium przechwytywania z aparatu paruje interfejs na ekranie zewnętrznym, podczas gdy aplikacja pozostaje na wewnętrznym.14 StandBy działa na obu ekranach „nawet wtedy, gdy nie jest ładowany”.1 Urządzenie korzysta z Touch ID, więc każdy tekst „Use Face ID” jest na nim błędny.2
Aktualizacja, 10 września: App Store Connect wskazuje na 669 na 951 punktów dla ekranu wewnętrznego
Pierwsza wersja tego tekstu wyprowadziła dla ekranu wewnętrznego 626 na 890 punktów, dzieląc przez trzy 1878 na 2670 pikseli ze specyfikacji. Specyfikacje screenshotów w App Store Connect zawierają wiersz dla iPhone’a Duo, dodany 9 września według informacji o wydaniu App Store Connect, datowany przez kanał Releases Apple na 15:00 czasu pacyficznego i zauważony przeze mnie po raz pierwszy rankiem 10 września: 1398 na 2034 piksele dla ekranu zewnętrznego oraz 2007 na 2853 piksele dla wewnętrznego. Specyfikacje podglądów aplikacji wymieniają te same dwa rozmiary pod nagłówkiem „Device resolutions”, oddzielają „Rendered pixels” od „Physical pixels” dla 5,5-calowych modeli Plus (2208 na 1242 wobec 1920 na 1080) i odnotowywały, że przesyłanie materiałów dla iPhone’a Duo „będzie dostępne później w tym roku”, a Apple otworzyło je 5 października 2026 (poprawiono 7 października).17 Rozmiar zewnętrzny to dokładnie 466 na 678 punktów przy 3x, czyli własne piksele panelu. Rozmiar wewnętrzny to 669 na 951 punktów przy 3x, o około 6,9 procent więcej w każdym wymiarze, niż ma panel. Mój wniosek, przy założeniu skali 3x, jest taki, że ekran wewnętrzny renderuje w 669 na 951 punktów i skaluje wynik w dół o mniej więcej 6,4 procent w każdym wymiarze do 1878 na 2670; Device Hub to potwierdzi albo skoryguje. W App Store Connect istnieje precedens dla takiego układu: nadal wymaga on screenshotów 1242 na 2208 dla 5,5-calowych iPhone’ów Plus, których panele miały 1080 na 1920, a wytyczne Apple wymieniały te telefony jako 414 na 736 punktów przy 3x na panelu 1080 na 1920.1117 W tę samą stronę wskazuje drugi artefakt Apple: pakiet ramek produktowych dla iPhone’a Duo, opublikowany przez Apple na stronie z zasobami projektowymi, ma wycięcie ekranu wewnętrznego o wymiarach 2853 na 2007 pikseli wewnątrz ramki 3093 na 2247 — co do piksela rozmiar z App Store Connect — podczas gdy wycięcie ekranu zewnętrznego ma 1398 pikseli szerokości, czyli dokładnie tyle, co panel.18 Wszystkie obliczenia poniżej poprawiono na 669 na 951. Proporcje, klasy rozmiaru, reguły SDK i wymiary fizyczne pozostają bez zmian; zmieniają się szerokości w punktach, wartości letterboxu oraz rozmiary do przetestowania w Device Hub. Jeśli wniosek się utrzyma, warto zauważyć jedną konsekwencję: przy 669 punktach szerokości na panelu 430 ppi punkt ma tę samą miarę co na ekranie zewnętrznym, na obu około 153 punkty na cal, więc tekst i kontrolki zachowują jeden rozmiar fizyczny w miarę rozkładania urządzenia.
Aktualizacja, 15 września: Xcode 27 ukazał się bez SDK dla Duo
Kanał Releases Apple wymienia Xcode 27 (27A266a), iOS 27.0 (24A437) i pozostałe systemy 27.0 pod datą poniedziałku 14 września, a żadna z dwóch finalnych stron z informacjami o wydaniu nie wspomina o urządzeniu: słowo „Duo” nie pojawia się ani razu w notatkach do iOS i iPadOS 27 ani w notatkach do Xcode 27, pobranych 15 września przez JSON dokumentacji Apple, a indeks informacji o wydaniu Xcode nadal zawiera jeden wpis 27.19 Strona Apple dla programistów brzmi tak samo jak 9 września: „Xcode 27.1 beta. Get the latest SDKs to build, run, and test your app for iPhone Duo. Coming later this month”, „Preparing your app for iPhone Duo” również z dopiskiem „Coming later this month”, a Group Labs i sesje pytań w swoich wrześniowych terminach.19 Zdanie App Store Connect z 9 września również pozostawało w mocy: „Support for uploading assets for iPhone Duo in App Store Connect will be available later this year.” Apple otworzyło to przesyłanie 5 października 2026 (poprawiono 7 października).17 Kalendarz poniżej zachowywał więc ważność, z jedną datą już wtedy za nami. iOS 27 miał premierę, o zmianie rozmiaru decyduje dziś SDK 27.0 z Xcode 27, a SDK właściwe dla Duo wciąż jest przed nami (11 października: ukazało się w Xcode 27.1 beta 18 września, a od 5 października App Store Connect przyjmuje do App Store buildy z Xcode 27.1 RC (27A9275) z SDK iOS 27.12223); to, co finalny toolchain zmienił w istniejących projektach, opisuje wpis o premierze Xcode 27.
Aktualizacja, 17 września: informacje o wydaniu Apple wskazują wydanie, które niesie SDK dla Duo
Informacje o wydaniu bety Xcode 27.2, opublikowane wraz z falą bet z 16 września, to pierwsze informacje o wydaniu Apple, które przypisują SDK do wydania wskazanego z nazwy: „The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.” (SDK iOS i obsługa symulatora dla iPhone’a Duo będą dostępne jeszcze w tym miesiącu w nadchodzącym wydaniu Xcode 27.1).20 Sama beta 27.2, czyli Xcode 27.2 beta (27B5019j) wraz z iOS 27.2 beta (24B5084k), nie niesie żadnych treści o Duo: słowo to pojawia się raz w informacjach o wydaniu bety Xcode 27.2, w tym właśnie zdaniu z sekcji Overview, i ani razu w informacjach o wydaniu bety iOS i iPadOS 27.2, a sekcja Device Hub w informacjach o Xcode wymienia dwa znane problemy dotyczące wejścia w symulatorze i klawiatur sprzętowych, które nie wskazują żadnego urządzenia.20 Strona Apple dla programistów o iPhonie Duo wciąż wymienia „Xcode 27.1 beta” w sekcji Tools and documentation z dopiskiem „Coming later this month”, ale jeden kafelek na tej stronie zmienił się między moimi pobraniami z 15 i 17 września: „Preparing your app for iPhone Duo” nie ma już dopisku „Coming later this month” i prowadzi teraz do dostępnego już przewodnika w Technology Overviews.20
Przewodnik również wskazuje to wydanie, i to dwukrotnie: „Build your app with Xcode 27.1 or later to use all of the available screen space on iPhone Duo. In earlier versions, your app doesn’t extend under the status bar and camera.” (aplikację należy zbudować w Xcode 27.1 lub nowszym, aby wykorzystać całą dostępną przestrzeń ekranu na iPhonie Duo; we wcześniejszych wersjach aplikacja nie rozciąga się pod pasek stanu i aparat) oraz „The iPhone Duo simulator in Device Hub requires Xcode 27.1, coming later this month.” (symulator iPhone’a Duo w Device Hub wymaga Xcode 27.1, dostępnego jeszcze w tym miesiącu).20 Nie podaje wymiarów w punktach, więc wnioskowane wyżej liczby dla ekranów pozostają wnioskami; tym, co dodaje, są API. Widoki arrangementów (ArrangementView w SwiftUI, UIArrangementViewController w UIKit) rozmieszczają widok podstawowy i drugoplanowy wokół zagięcia w układzie split lub overlay; zastrzeżone obszary (reservedRegions(kind:options:layoutDirectionBehavior:) na GeometryProxy, reservedRegions(kind:options:) na UIView) udostępniają zagięcie i aparaty jako podziały i przesłonięcia; a paski pionowe dostają toolbarVerticalBehavior(_:), toolbarVerticalEdge i axisBehavior(_:) w SwiftUI oraz preferredVerticalBarBehavior, verticalBarEdge i axisBehavior w UIKit.20 Żadna z tych 10 nazw nie występuje w SDK iOS 27.0 dostarczanym z Xcode 27, ani w interfejsie modułu SwiftUI, ani w nagłówkach UIKit, podczas gdy pozostałe nazwy z przewodnika już tam są: presentationPlacement(_:) i preferredPlacement od 27.0, visibilityPriority od 27.0 w obu frameworkach, ToolbarOverflowMenu i topBarPinnedTrailing od 27.0, pinnedTrailingGroup i additionalOverflowItems od iOS 16 oraz backgroundExtensionEffect() od iOS 26 wraz z UIBackgroundExtensionView.21 Przewodnik opisuje więc SDK 27.1, które jeszcze się nie ukazało, a data premiery 23 października wraz z iOS 27.1 i luka w SDK pozostają w mocy. (19 września: beta wyszła 18 września; zob. aktualizację poniżej.)
Aktualizacja, 19 września: beta 27.1 wyszła, a API Duo mają wersję
Beta Xcode 27.1 (27A9269) trafiła do kanału wydań Apple w piątek 18 września, dwa dni po fali bet 27.2, która ją wskazała, a jej uwagi otwiera zdanie o SDK, na które ten wpis czekał: „Xcode 27.1 beta includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.” (beta Xcode 27.1 zawiera Swift 6.4 oraz SDK dla iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27 i visionOS 27)22 Między moimi pobraniami z 17 i 19 września Apple przepisało też Overview uwag do bety 27.2: zdanie cytowane w aktualizacji powyżej zniknęło, a ramka brzmi teraz „Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo.” (pobierz betę Xcode 27.1, aby uzyskać SDK iOS i obsługę iPhone Duo w symulatorze)22 Na 19 września strony dokumentacji Apple dla ArrangementView, UIArrangementViewController, reservedRegions(kind:options:layoutDirectionBehavior:) w GeometryProxy, reservedRegions(kind:options:) w UIView oraz toolbarVerticalBehavior(_:), pięciu z dziesięciu nazw, których sprawdzenie z 17 września nie znalazło w SDK 27.0, podają dostępność iOS 27.1 i iPadOS 27.1, oznaczoną jako beta.22 To odpowiada na pytanie o wersję od strony Apple; czy SDK bety zawiera wszystkie dziesięć nazw i co symulator z nimi robi, sprawdzę po zainstalowaniu bety, w nadchodzącym wpisie. App Store Connect przyjął pasujące buildy tego samego dnia: „You can now submit apps built with Xcode 27.1 beta using the SDK for iOS 27.1 beta or iPadOS 27.1 beta for internal and external testing.” (można już przesyłać aplikacje zbudowane betą Xcode 27.1 z SDK iOS 27.1 beta lub iPadOS 27.1 beta do testów wewnętrznych i zewnętrznych)22 „iPadOS 27” z Overview i „iPadOS 27.1 beta” z App Store Connect nie zgadzają się ze sobą; cytuję oba zapisy, zamiast wybierać jeden.
Uwagi do bety mówią też, czego symulator Duo jeszcze nie potrafi, w sekcji Simulator, Known Issues: „Initial Simulator launch can take several minutes.” (pierwsze uruchomienie symulatora może potrwać kilka minut) (187708500), „StandBy is unavailable in the iPhone Duo Simulator runtime.” (StandBy jest niedostępny w środowisku symulatora iPhone Duo) (187708663) i „Running and debugging most app extensions is unavailable in the iPhone Duo Simulator runtime.” (uruchamianie i debugowanie większości rozszerzeń aplikacji jest w tym środowisku niedostępne) (187708767); opisane niżej zachowanie StandBy jest więc na razie testem na urządzeniu, a według sformułowania Apple dotyczy to także większości rozszerzeń aplikacji.22 Dwa znane problemy Mac Catalyst w tych samych uwagach mają znaczenie dla każdego, kto wdraża te API w aplikacji wydawanej także na Maca: „Projects that use APIs specific to iOS 27.1 show compile errors when building for Mac Catalyst (“undeclared identifier”, “not found”, “has no member”, “cannot find”, etc).” (projekty używające API właściwych dla iOS 27.1 pokazują błędy kompilacji przy budowaniu dla Mac Catalyst) (185924957), z #if !targetEnvironment(macCatalyst) jako obejściem Apple, oraz „Projects that target iOS 27.1 show no Mac Catalyst run destination available.” (projekty celujące w iOS 27.1 nie pokazują żadnego miejsca uruchamiania Mac Catalyst) (187046347), z obejściem „Add a Mac Catalyst 27.0 minimum deployment in target settings.” (dodać minimalne wdrożenie Mac Catalyst 27.0 w ustawieniach targetu).22 Przewodnik Apple „Preparing your app for iPhone Duo” zmienił się między tymi samymi dwoma pobraniami. Cytowany wyżej akapit „Build your app with Xcode 27.1 or later to use all of the available screen space on iPhone Duo. In earlier versions, your app doesn’t extend under the status bar and camera.” brzmi teraz „Build your app with the latest version of Xcode to use all of the available screen space on iPhone Duo. When you build with Xcode 26 and earlier, your app doesn’t extend under the status bar and camera.” (zbuduj aplikację najnowszą wersją Xcode, aby wykorzystać całą powierzchnię ekranu iPhone Duo; zbudowana Xcode 26 lub starszym nie sięga pod pasek stanu i aparat), a notka „The iPhone Duo simulator in Device Hub requires Xcode 27.1, coming later this month.” zniknęła. Na stronie dla deweloperów „Coming later this month” na kafelku „Xcode 27.1 beta” zmieniło się w „View betas”, a wpis z 18 września „Build for iPhone Duo with new resources” dodaje do Apple Design Resources zestawy projektowe Figma i Sketch dla iPhone Duo.22
Co Apple opublikowało, a czego nie
W komunikacie prasowym programiści dostają dwa zdania. Własne aplikacje Apple „są zoptymalizowane pod iPhone’a Duo, a programiści mogą łatwo dostosować swoje aplikacje przy użyciu nowych i zaktualizowanych API w najnowszych SDK oraz nadchodzącego wsparcia dla iPhone’a Duo w Device Hub w Xcode”. I dalej: „Aplikacje firm trzecich, w tym Netflix, Zoom i Slack, już korzystają ze składanej konstrukcji, aby dostarczać wciągające doświadczenia, które w pełni wykorzystują większy ekran i nowe sposoby używania iPhone’a Duo”.1
Kluczowe jest tu słowo „upcoming”. Informacje o wydaniu iOS i iPadOS 27 RC miały tytuły RC w chwili pobrania 9 września — w dniu, w którym App Store Connect zaczęło przyjmować kompilacje zbudowane z SDK RC19 — i nie zawierają żadnej wzmianki o iPhonie Duo. Podobnie informacje o wydaniu Xcode 27 RC, które obszernie opisują Device Hub, w tym tryb zmiany rozmiaru, na którym opiera się lista kontrolna dla skalowalnego iPhone’a z tej strony.45 Indeks dokumentacji Apple również nie pokazuje żadnej strony o iPhonie Duo. Urządzenie trafia do sprzedaży z iOS 27.1, jak podaje Apple, a strona Apple dla programistów potwierdza teraz kształt tego oczekiwania: „Xcode 27.1 beta”, opisana jako sposób, by „build, run, and test your app for iPhone Duo”, jest „coming later this month”, podobnie jak przewodnik zatytułowany „Preparing your app for iPhone Duo”. Przewodnik projektowy „Designing for iPhone Duo” o 13:12 nadal widniał jako „coming soon”, a o 16:10 czasu pacyficznego był już dostępny w Human Interface Guidelines; jego reguły znajdują się w sekcji o przewodniku projektowym.1316 (17 września: przewodnik jest już dostępny; zob. aktualizację powyżej.20)
Co Apple opublikowało dla programistów pierwszego dnia
Strona Get Ready for iPhone Duo pojawiła się w dniu keynote’u; zapowiadający ją wpis w aktualnościach Apple dla programistów nosi datę 11:00 czasu pacyficznego, gdy keynote jeszcze trwał.13 Strona linkuje sześć dostępnych od razu Tech Talków: „Prepare your app for iPhone Duo”, którego opis obiecuje pokazać, „how to opt in to the full-screen experience”; „Raise the bar with iPhone Duo” o nawigacji, paskach narzędzi i paskach kart; „Strike a pose with adaptive layouts on iPhone Duo” o „displacement design patterns”; talk o wielu ekranach i scenach, o „multiwindow and multidisplay experiences” oraz „dynamic window sizes”; „Build a great camera experience for iPhone Duo”, w którym pada nazwa „Virtual Front Camera”; oraz „Design for iPhone Duo”.14 Angielskie ścieżki napisów tych talków niosą reguły, których zabrakło w komunikacie, a ten tekst cytuje je ze znacznikami czasu.
Strona planuje też spotkania z ludźmi. Online Group Labs odbywają się 16 września o 20:00 czasu pacyficznego i 17 września o 8:00 czasu pacyficznego, sesje pytań i odpowiedzi na forach dla programistów — o Photos i Camera, o SwiftUI oraz o UIKit — 23 września, a warsztaty stacjonarne są „coming later this month”.13 Pierwsza minuta pierwszego talku to polityka zgodności w trzech poziomach. „Aplikacja będzie działać na iPhonie Duo, nawet jeśli nie została zbudowana z SDK iOS 27”, mówi David Jackson z zespołu UI Frameworks w 0:29; po złożeniu „aplikacja wykorzysta przestrzeń ekranu na lewo od paska stanu i aparatu”, a po rozłożeniu „aplikacja będzie miała znajomy rozmiar i proporcje”. Z SDK iOS 27 „aplikacja rozciągnie się w lewo od obszaru paska stanu na ekranie wewnętrznym” (0:57). Dopiero „gdy aplikacja zostanie zbudowana z SDK iOS 27.1, rozciąga się do krawędzi ekranu”, a „standardowe przyciski nawigacji i paska narzędzi układają się teraz pionowo pod paskiem stanu” (1:05 do 1:11). Następnie talk wskazuje Xcode 27.1 i jego symulator iPhone’a Duo w Device Hub, z „przyciskami sterującymi u dołu ekranu, które pozwalają rozłożyć, złożyć, obrócić lub zagiąć iPhone’a Duo” (1:16 do 1:25); strona dla programistów datuje ten Xcode na później w tym miesiącu.1314
Do czasu premiery SDK dokumentacją są specyfikacja, tych sześć talków i przewodnik projektowy. (19 września: beta Xcode 27.1 zawiera SDK; zob. aktualizację powyżej.22) (11 października: 5 października pojawił się Xcode 27.1 RC (27A9275), a App Store Connect przyjmuje jego buildy do App Store.23) Pierwszy talk, osadzony poniżej:
Aktualizacja z 11 września. Informacje o wydaniu iOS 27 RC zyskały sekcję Hardware Security, która wymienia modele iPhone’a z A20 Pro lub nowszym — a więc również iPhone’a Duo — wśród urządzeń objętych wariantem arm64e.x1 i sprawdzaną arytmetyką wskaźników CPA2. Wariant ten jest już dziś w Xcode 27 RC; arm64e.x1: wariant Apple ze sprawdzaną arytmetyką wskaźników opisuje, co emituje kompilator, oraz cztery przełączniki, które włączają egzekwowanie.
Co dodaje przewodnik projektowy, 16:00 czasu pacyficznego
Strona Designing for iPhone Duo trafiła do Human Interface Guidelines po południu w dniu keynote’u; wpis w jej dzienniku zmian nosi datę 9 września 2026 i brzmi „New page”.16 To dokument projektowy, który nazywa maszynerię układu opisywaną w Tech Talkach.
Pozycje. Ludzie trzymają urządzenie „częściowo złożone jak książka, położone na powierzchni lub postawione na krawędziach”, a odpowiedzią Apple nie jest osobny układ na każdą pozycję: „Układ w compact width dla ekranu zewnętrznego i układ w regular width dla ekranu wewnętrznego dają podstawy pod każdą pozycję”.16 To reguła klas rozmiaru z pierwszego Tech Talku, powtórzona jako wskazówka projektowa.
Zastrzeżone obszary. Strona definiuje trzy obszary, których treść unika. Obszar aparatu zewnętrznego, w rogu ekranu zewnętrznego, „jest obecny zawsze i rozszerza się w Dynamic Island przy Live Activities”. Obszar aparatu wewnętrznego „jest obecny tylko wtedy, gdy aparat jest aktywny”, a „gdy aparat się uruchamia, interfejs odsuwa się, aby zasygnalizować jego obecność”. Trzecim jest zagięcie: „Gdy urządzenie jest częściowo rozłożone, obszar zagięcia dzieli ekran wewnętrzny na kilka użytecznych obszarów, wyłączając obszar na środku, w którym ekran się zagina”.16 Apple pisze, że „komponenty takie jak alerty, menu kontekstowe i arkusze automatycznie przesuwają się, aby uwzględnić zagięcie”, zaleca układom siatkowym, by „preferowały parzystą liczbę kolumn, dzięki czemu treść dzieli się czysto”, i stwierdza, że „API zastrzeżonych obszarów dają sposób na przesunięcie treści poza te obszary”. Strona nie linkuje dokumentacji tych API; jej odnośniki dla programistów to typy priorytetu widoczności i menu przepełnienia w paskach narzędzi, elementy przycisków paska wraz z ich grupami, widoki podzielone, stosy, Label oraz wcięcia bezpiecznego obszaru — API zastrzeżonych obszarów i arrangementów wciąż więc czekają na betę 27.1.16
Arrangementy. Nowy kontener, który „mieści w sobie dwa widoki” i „dynamicznie je organizuje na podstawie rozmiaru ekranu, orientacji oraz zastrzeżonych obszarów”, w dwóch odmianach: arrangement typu split, który „dzieli się w poziomie, gdy jest szerszy niż wyższy, i dzieli się w pionie, gdy jest wyższy niż szerszy”, oraz arrangement typu overlay: „Gdy ekran jest częściowo złożony, widoki przesuwają się, aby zająć obie strony; w przeciwnym razie widok podstawowy przesuwa się nad widok drugoplanowy”. Apple mapuje na nie istniejące układy: stosy ustawione obok siebie stają się arrangementem typu split, warstwowy ZStack staje się overlayem, a Apple dodaje: „Arrangement układa treść, ale nie obsługuje nawigacji, więc kontenery nawigacyjne, takie jak widoki podzielone i widoki kart, należy umieszczać wokół niego, a nie w jego wnętrzu”.16
Kontrolki pionowe. Paski narzędzi, paski kart i kontrolki nawigacyjne przenoszą się na bok w każdej pozycji z wyjątkiem „ekranu wewnętrznego w orientacji pionowej, który ma dość przestrzeni pionowej, aby zachować standardowe paski poziome”. W Split View „każda aplikacja umieszcza kontrolki przy swojej zewnętrznej krawędzi, więc aplikacja po lewej ma kontrolki po lewej”. Reguła kolejności: „Górę osi pionowej należy zarezerwować dla głównych kontrolek nawigacyjnych, takich jak Back czy Close, a zaraz za nimi umieścić wyróżnione akcje w rodzaju Done”. Przepełnienie działa „domyślnie od dołu do góry”, a zmienia się je priorytetem widoczności nadawanym poszczególnym elementom — typami ToolbarItemVisibilityPriority i UIBarButtonItemVisibilityPriority, które strona linkuje. „Elementy z etykietą tekstową zostają w pasku poziomym, więc lepiej wybrać symbol wszędzie tam, gdzie się sprawdza”.16
Orientacja i gry. „Można zablokować orientację pionową albo poziomą, ale trzeba zadbać o wypełnienie ekranu przy zmianie pozycji urządzenia”. Dla gier: „W grach lepiej zmieniać proporcje, niż stosować letterboxing czy pillarboxing; jeśli letterboxingu lub pillarboxingu nie da się uniknąć, warto dodać grafikę w obszarze wypełnienia, aby doświadczenie sprawiało wrażenie pełnoekranowego”.16 To problem 16:9 z sekcji poniżej, rozwiązany od strony projektowej. Odczytanie przewodnika i trzech towarzyszących mu talków od strony projektowej — przemieszczenie, arrangementy i oś pionowa — znajduje się w tekście Projektowanie dla iPhone’a Duo.
Dwa ekrany, w punktach

Kadr z transmisji wydarzenia Apple z 9 września 2026, godzina 10:58 czasu pacyficznego: zawias i tylne aparaty na składanym korpusie.
Specyfikacja Apple podaje rozdzielczości w pikselach i gęstości pikseli; specyfikacja screenshotów w App Store Connect, opublikowana dzień po keynote, podaje wymiary screenshotów — i dla ekranu wewnętrznego obie się różnią.217 Tabela dzieli rozmiary screenshotów przez trzy, czyli przez skalę, którą wytyczne Apple podają dla identycznego panelu 1206 na 2622 piksele w iPhonie 17 Pro: 402 na 874 punkty.11 Kolumny z punktami należy traktować jako obliczenia na liczbach Apple, a nie jako specyfikację, dopóki nie poda ich Device Hub.
| Ekran | Piksele panelu | Gęstość | Piksele screenshotu (App Store Connect) | Punkty przy 3x | Proporcje |
|---|---|---|---|---|---|
| iPhone Duo, wewnętrzny (7,6 cala) | 1878 × 2670 | 430 ppi | 2007 × 2853 | 669 × 951 | 1,42 |
| iPhone Duo, zewnętrzny (5,4 cala) | 1398 × 2034 | 460 ppi | 1398 × 2034 | 466 × 678 | 1,45 |
| iPhone 18 Pro (6,3 cala) | 1206 × 2622 | 460 ppi | 1206 × 2622 | 402 × 874 | 2,17 |
| iPhone 18 Pro Max (6,9 cala) | 1320 × 2868 | 460 ppi | 1320 × 2868 | 440 × 956 | 2,17 |
Z tej tabeli wynikają dwie rzeczy. Ekran wewnętrzny to nie jest większy telefon. Przy 669 punktach szerokości w orientacji pionowej jest o 229 punktów szerszy niż iPhone 18 Pro Max w pionie, a w poziomie jest wyższy niż jakikolwiek iPhone w poziomie; jego proporcje 1,42 są daleko od 2,17 z linii Pro. Ekran zewnętrzny też nie jest małym telefonem. Jest o 64 punkty szerszy niż iPhone 18 Pro i o 196 punktów krótszy — to kształt, jakiego nie miał żaden sprzedawany iPhone.
Komunikat Apple dodaje fakt, który tabela ukrywa: „Oba ekrany mają te same proporcje, więc treść skaluje się proporcjonalnie, co zapewnia ciągłość wizualną”.1 Z liczby pikseli wychodzi 1,42 i 1,45, czyli około 2 procent różnicy, więc obraz albo klatka wideo skomponowana pod ekran wewnętrzny mieści się na zewnętrznym z wąskim marginesem. Z układem jest inaczej, ponieważ oba ekrany raportują różne klasy rozmiaru: zewnętrzny jest compact-width jak każdy inny iPhone w orientacji pionowej, a wewnętrzny regular w obu wymiarach, o czym mówi sekcja o klasach rozmiaru. Pierwszy Tech Talk opisuje, co to robi z widokiem podzielonym: „Gdy iPhone Duo jest złożony, kolumny zwijają się do nawigacji jednostosowej. Po rozłożeniu kolumny pojawiają się zarówno kafelkowo, jak i w formie nakładek” (5:19).14 Te dwa kształty są nowe dla iPhone’a; dla kodu to jedne proporcje w dwóch klasach rozmiaru.
Wymiary Apple rozstrzygają domyślny sposób trzymania. Po rozłożeniu urządzenie ma 6,48 cala szerokości i 4,64 cala wysokości, więc naturalna orientacja ekranu wewnętrznego to 951 punktów szerokości na 669 wysokości; po złożeniu ma 3,31 cala szerokości i 4,64 cala wysokości, więc ekran zewnętrzny jest pionowy. Rozłożone urządzenie ma 0,21 cala grubości i waży 8,96 uncji.2 Apple przeniosło też Dynamic Island pionowo na bok obu ekranów oraz zsunęło na bok Dock, kontrolki ekranu blokady i nawigację aplikacji, „aby zmaksymalizować przestrzeń pionową na treść”.1 Trzeba więc liczyć się z niesymetrycznymi wcięciami bezpiecznego obszaru leading i trailing: pierwszy Tech Talk mówi, że „paski pionowe dostarczają wcięć leading i trailing”, i radzi „unikać założenia, że wcięcia po przeciwnych stronach są równe” (6:18, 7:24).14 Każdy widok, który zakłada, że Island znajduje się u góry, będzie tu błędny.
Problem 1,42 i dar 1,42
Proporcje 1,42 mieszczą się w granicach mniej więcej pół procent od pierwiastka kwadratowego z dwóch, czyli od stosunku papieru serii A, który zachowuje swoje proporcje po złożeniu na pół. Zauważył to wczesny komentarz najwyższego poziomu w wątku na Hacker News i jest to dobry sposób myślenia o tym urządzeniu: wystarczy złożyć ekran wewnętrzny, aby otrzymać dwie płaszczyzny o tym samym kształcie.9
W przypadku wideo 16:9 te proporcje kosztują. W orientacji poziomej szerokość 951 punktów ogranicza kadr 16:9 na ekranie wewnętrznym, więc renderuje się on w 951 na 535 punktów i zostawia 134 punkty letterboxu rozdzielone u góry i u dołu — jedna piąta ekranu pozostaje niewykorzystana. Na iPhonie 18 Pro w poziomie ten sam kadr ogranicza wysokość 402 punktów, więc renderuje się w 715 na 402 punkty. Fizycznie, licząc z gęstości podanych przez Apple, to obraz o szerokości 6,21 cala na Duo wobec 4,66 cala na Pro, czyli około 77 procent więcej powierzchni — przy letterboxie, którego nie da się uniknąć.23 Aplikacje wideo dostają jednocześnie większy obraz i większą czarną ramkę.
Dla wszystkiego, co nie jest wideo, te proporcje są darem. Dokumenty, kanały, poczta, kod i układy dwupanelowe to dokładnie te kształty, dla których istnieje papier serii A. Keynote pokazał właśnie takie układy — wątek wiadomości obok listu w poczcie, rozkładówkę magazynu i aplikację do czatu zespołowego rozłożoną na ekranie wewnętrznym — a komunikat Apple wymienia Slacka, rozmowę z Siri obok innej treści oraz Split View z dwiema aplikacjami obok siebie.1 Tekst o wydarzeniu rejestruje kadry z keynote’u wraz ze znacznikami czasu. NavigationSplitView, który zwija się w układach compact-width na iPhonie, może pokazać kolumny kafelkowo lub w formie nakładek na ekranie wewnętrznym Duo o klasie regular-width — o czym mówi następna sekcja.
Klasy rozmiaru: ekran wewnętrzny jest regular w obu wymiarach
Pierwszy Tech Talk podaje wartości. „Na ekranie zewnętrznym, tak jak w innych modelach iPhone’a, iPhone Duo ma pionową klasę rozmiaru regular i poziomą klasę compact w orientacji pionowej, a w orientacji poziomej klasy compact w pionie i w poziomie” (3:08). „Na ekranie wewnętrznym dodatkowa przestrzeń pozwala pokazać więcej treści, na przykład paski boczne. Dlatego ma on poziomą i pionową klasę rozmiaru regular” (3:20).14 Dla kontekstu: każdy iPad w tabeli klas rozmiaru Apple raportuje szerokość regular w orientacji pionowej, aż po 768-punktowego iPada mini w tej tabeli, więc 669-punktowy ekran wewnętrzny dołącza do kolumny iPada, a nie iPhone’a.11
Ten sam talk zamyka dwoje drzwi. „Ekran wewnętrzny nie respektuje zadeklarowanych obsługiwanych orientacji interfejsu. Podobnie jak przy Idiom, należy unikać sprawdzania orientacji interfejsu przy decyzjach o układzie. Zamiast tego warto używać klas rozmiaru” (3:46 do 3:55) oraz „na urządzeniu z dwoma ekranami należy unikać odwoływania się w kodzie do ekranu głównego” (3:57).14 Bezpieczny kod odczytuje horizontalSizeClass ze środowiska albo kolekcję traitów w UIKit i na tej podstawie buduje układ.8 To także jeden z kroków listy kontrolnej, która wycofuje sprawdzanie orientacji na rzecz klas rozmiaru, ponieważ iOS 27 oddziela orientację od zmiany rozmiaru.
Multitasking trafia na iPhone’a

Kadr z transmisji wydarzenia Apple z 9 września 2026, godzina 11:09 czasu pacyficznego: bateria w każdej połowie i A20 Pro na płycie.
Komunikat Apple wymienia Split View dla dwóch aplikacji obok siebie „po raz pierwszy na iPhonie”, dwa okna tej samej aplikacji „jak w Safari” oraz zapisane pary aplikacji.1 Talk o wielu ekranach i scenach potwierdza mechanizm: „iPhone Duo to pierwszy iPhone, który obsługuje wiele instancji interfejsu aplikacji. Jeśli aplikacja obsługuje to na iPadzie, obsłuży to również na iPhonie Duo” (3:38).14 Na iPadzie tym wsparciem jest klucz UIApplicationSupportsMultipleScenes w manifeście scen plus cykl życia sceny przez UIWindowScene, więc aplikacja na iPhone’a, która ustawiła ten klucz na false, aby uniknąć koordynowania stanu między oknami, powinna liczyć się z powrotem do tej decyzji.7 Jest jedna reguła specyficzna dla Duo: „Na ekranie zewnętrznym iPhone’a Duo nie można tworzyć nowych okien. To zachowanie jest zarezerwowane dla ekranu wewnętrznego”, więc „trzeba zadbać o obsługę błędów przy żądaniu nowych scen”, a akcja UIWindowSceneActivation „automatycznie się ukrywa, gdy nowe okna nie są dostępne” (3:53 do 4:11).14
Ten sam talk dorzuca akcesoria scen, które „pozwalają aplikacji pokazywać treść na wielu ekranach jednocześnie”, oraz jedno specyficzne dla Duo: „CameraCaptureAccessory pozwala sparować dodatkowy interfejs na ekranie zewnętrznym, podczas gdy główny interfejs aplikacji pozostaje na ekranie wewnętrznym”, dostępne „gdy aplikacja działa na pełnym ekranie wewnętrznym i ma aktywną sesję aparatu” (4:26 do 5:19).14 Sam cykl życia oparty na scenach nie jest już opcjonalny: informacje o wydaniu iOS 27 RC stwierdzają, że „aplikacje zbudowane z najnowszym SDK muszą przyjąć cykl życia oparty na scenach, w przeciwnym razie nie uruchomią się” — to temat tekstu o obowiązku scen.47
Split View z dwiema aplikacjami to zadanie systemu, a nie programisty, ale wręcza on aplikacji dowolną szerokość w trakcie działania. Ciągła zmiana rozmiaru, temat listy kontrolnej, decyduje o tym, czy aplikacja otrzymuje kolejne aktualizacje rozmiaru, czy pojedynczy skok do nowego rozmiaru po zakończeniu przeciągania; informacje Apple mówią, że każda zmiana rozmiaru w aplikacji bez ciągłej zmiany „powinna zostać dostarczona jako zmiana dyskretna” wraz ze zaktualizowanymi granicami.4 Bramką jest SDK, z którym aplikacja jest linkowana, oraz brak UIRequiresFullScreen: zbudować z SDK iOS 27, pominąć ten klucz i strumień zmian rozmiaru należy do aplikacji. Nota techniczna Apple o wycofanym kluczu podaje drugą gałąź: przy SDK iOS 27 klucz „nie wyłącza już aplikacji ze zmiany rozmiaru”, a zamiast tego „system zmienia rozmiar sceny aplikacji dyskretnie”, więc „scena nie zmienia rozmiaru w trakcie przeciągania okna”.12 Talk dodaje niuans Duo: „iPhone Duo nadal będzie respektować klucz UI requires full screen, ale aplikacja i tak zmieni rozmiar, gdy ktoś rozłoży albo złoży swojego iPhone’a Duo”, oraz „respektuje zadeklarowane obsługiwane orientacje interfejsu, ale aplikacja będzie skalowana na ekranie wewnętrznym, również w multitaskingu Split View” (4:36 do 4:49).14
StandBy na ekranie zewnętrznym to powierzchnia dla widgetów

Kadr z transmisji wydarzenia Apple z 9 września 2026, godzina 11:05 czasu pacyficznego: pozycja namiotowa, którą Apple pokazało dla StandBy.
Komunikat Apple mówi, że StandBy działa na obu ekranach „nawet wtedy, gdy nie jest ładowany”, z nowymi tarczami Kalendarza i Pogody oraz głębszą personalizacją.1 Składany telefon oparty na biurku to ekran zwrócony do pomieszczenia, a StandBy wypełnia go widgetami. Widgety i Live Activities to dwa sposoby, w jakie aplikacja się tam pojawia; wytyczne Apple wymieniają StandBy wśród miejsc, w których wyświetla się Live Activity.15 Aplikacja pozbawiona obu jest na tej powierzchni nieobecna. Tekst o powierzchni widgetów dowodzi, że jeden App Intent zasila każde umiejscowienie; iPhone Duo dokłada umiejscowienie, które jest zawsze na widoku.
Funkcje aparatu na ekranie zewnętrznym — Duo Preview, Kid Cue i Duo FaceTime — są funkcjami systemowymi.1 Aplikacje aparatu firm trzecich dostają dwie rzeczy, zgodnie z talkiem o aparacie. „Virtual Front Camera”, czyli „nowe urządzenie AV Capture, które automatycznie przełącza się między zewnętrznym a wewnętrznym aparatem fizycznym”, korzystające z przedniego aparatu ekranu wewnętrznego, gdy urządzenie jest rozłożone, i z zewnętrznego, gdy jest złożone, z typami urządzeń „built-in outer ultrawide” oraz „built-in inner ultrawide” dla bezpośredniego dostępu (1:14 do 2:04). Oraz CameraCaptureAccessory z talku o scenach, które umieszcza interfejs na ekranie zewnętrznym, podczas gdy przechwytywanie działa na wewnętrznym; jak ujmuje to ten talk, „pozwala to pokazywać treść osobie, której robi się zdjęcie albo którą się nagrywa” (5:09).14
Touch ID, nie Face ID
Specyfikacja wymienia czytnik linii papilarnych Touch ID i aparat FaceTime pod ekranem, ale nie Face ID.2 Każdy iPhone od iPhone’a SE z 2022 roku miał Face ID, a wiele aplikacji zapisało te słowa na stałe. LAContext.biometryType raportuje .touchID, .faceID albo .none po wywołaniu canEvaluatePolicy, a zlokalizowane teksty, symbole SF Symbols oraz treści onboardingu powinny się na tym rozgałęziać.6 Aplikacje, które działają już na iPadzie i Macu, zwykle mają to zrobione poprawnie; aplikacje wyłącznie na iPhone’a często nie.
Kalendarz
- 14 września: premiera iOS 27.0 (24A437) i Xcode 27 (27A266a), bez SDK dla Duo; SDK 27.0, które decyduje o zmianie rozmiaru, to to z Xcode 27.10519
- 18 września: iPhone 18 Pro trafia do sprzedaży, z iOS 27.10
- Później we wrześniu: beta Xcode 27.1, którą strona Apple dla programistów opisuje jako sposób, by „build, run, and test your app for iPhone Duo”, oraz przewodnik „Preparing your app for iPhone Duo”; przewodnik projektowy jest już w Human Interface Guidelines. Group Labs 16 i 17 września oraz sesje pytań i odpowiedzi na forum 23 września.1316 (17 września: przewodnik jest już dostępny; zob. aktualizację powyżej.20) (19 września: beta Xcode 27.1 wyszła 18 września; zob. aktualizację z 19 września powyżej.22)
- 5 października: Xcode 27.1 RC (27A9275), a App Store Connect otwiera App Store dla buildów zbudowanych w nim i z SDK iOS 27.1 (11 października).23
- 16 października: start przedsprzedaży iPhone’a Duo o 5:00 czasu pacyficznego.1
- 23 października: premiera iPhone’a Duo, z iOS 27.1.1
Co zrobić przez te sześć tygodni
- Linkować z SDK iOS 27, pominąć
UIRequiresFullScreenw Info.plist i przyjąć ciągłą zmianę rozmiaru zamiast dyskretnych skoków. Audytem jest lista kontrolna. - Przy decyzjach o układzie zastąpić sprawdzanie granic ekranu, idiomu urządzenia i orientacji interfejsu klasami rozmiaru oraz
onGeometryChange; ekran wewnętrzny nie respektuje zadeklarowanych orientacji, a gdy kod potrzebuje ekranu, talk zaleca „sięgać po niego dynamicznie ze sceny okna”, a nie po ekran główny (4:14). - Włączyć wiele scen, jeśli aplikacja to zniesie, przetestować dwa okna najpierw na iPadzie i obsłużyć odrzucone żądanie sceny, ponieważ ekran zewnętrzny nie może otwierać nowych okien.
- Uruchomić aplikację w trybie zmiany rozmiaru w Device Hub w 669 na 951, w 951 na 669 oraz w 466 na 678, bo takie kształty w punktach wynikają z rozmiarów w App Store Connect. Resizable Canvas w podglądach sięga dziś ich wszystkich; symulator iPhone’a Duo w Xcode 27.1 dołoży kontrolki rozkładania, składania, obracania i zaginania, gdy się pojawi. (19 września: beta jest już dostępna, a ograniczenia symulatora są cytowane w aktualizacji powyżej.22)
- Wydać widget, jeśli aplikacja go nie ma.
- Rozgałęzić teksty o biometrii na
biometryType. - Obejrzeć sześć Tech Talków i przeczytać „Designing for iPhone Duo” już teraz; razem opisują klasy rozmiaru, reguły scen, zastrzeżone obszary, arrangementy, kontrolki pionowe oraz akcesorium aparatu. Beta Xcode 27.1 jest miejscem, w którym się je implementuje i testuje.1416
Najważniejsze wnioski
Dla programistów iOS:
- App Store Connect określa ekran wewnętrzny iPhone’a Duo na 2007 na 2853 piksele, czyli 669 na 951 punktów przy 3x, na panelu 1878 na 2670; zewnętrzny to 466 na 678. Proporcje 1,42, a żaden z tych kształtów nie istnieje na innym iPhonie.217
- Wideo 16:9 zyskuje na ekranie wewnętrznym około 77 procent powierzchni wobec iPhone’a 18 Pro i traci jedną piątą tego ekranu na letterboxing; najwięcej zyskują dokumenty i układy dwupanelowe.23
- Split View, dwa okna jednej aplikacji i pary aplikacji trafiają na iPhone’a wraz z urządzeniem; aplikacja, która obsługuje wiele instancji na iPadzie, obsłuży je również tutaj, przy czym nowe okna wyłącznie na ekranie wewnętrznym.114
- Touch ID, nie Face ID. Rozgałęzić na biometryType.26
Dla decyzji produktowych: - StandBy na ekranie zewnętrznym oznacza, że widget albo Live Activity to warunek obecności na tym urządzeniu.115 - SDK dla Duo nie ma w informacjach o wydaniu iOS 27 ani Xcode 27; Apple datuje betę Xcode 27.1 na koniec września; sześć Tech Talków oraz wytyczne „Designing for iPhone Duo” są dostępne już dziś.45131416 (19 września: beta Xcode 27.1 wyszła 18 września.22)
FAQ
Czy moja obecna aplikacja działa na iPhonie Duo?
Tak, w trzech poziomach. Talk Apple: „Aplikacja będzie działać na iPhonie Duo, nawet jeśli nie została zbudowana z SDK iOS 27”, po rozłożeniu w „znanym rozmiarze i proporcjach”; z SDK iOS 27 rozciąga się „w lewo od obszaru paska stanu na ekranie wewnętrznym”; z SDK iOS 27.1 „rozciąga się do krawędzi ekranu”.14 UIRequiresFullScreen jest nadal respektowany, ale aplikacja zmienia rozmiar przy rozkładaniu i składaniu urządzenia. Nota techniczna Apple o wycofanym kluczu podaje ogólną regułę dla SDK iOS 27: klucz „nie wyłącza już aplikacji ze zmiany rozmiaru”, a „system zmienia rozmiar sceny aplikacji dyskretnie”.1214
Jakie klasy rozmiaru raportuje iPhone Duo?
Ekran zewnętrzny: pionowa regular i pozioma compact w orientacji pionowej, compact w obu wymiarach w orientacji poziomej, tak jak w innych iPhone’ach. Ekran wewnętrzny: regular w obu wymiarach, zgodnie z Tech Talkiem Apple.14
Jakie są wymiary ekranów w punktach?
Specyfikacja Apple podaje piksele panelu, a specyfikacja screenshotów w App Store Connect wymienia wymiary screenshotów w pikselach: 2007 na 2853 dla ekranu wewnętrznego i 1398 na 2034 dla zewnętrznego, co przy 3x daje 669 na 951 oraz 466 na 678 punktów. Przy założeniu skali 3x oznacza to, że ekran wewnętrzny renderuje w 669 na 951 i skaluje w dół o około 6,4 procent w każdym wymiarze do swojego panelu 1878 na 2670 — czyli w układzie, który Apple podawało dla iPhone’ów Plus; to wniosek, a Device Hub potwierdzi go albo skoryguje, gdy pojawi się beta Xcode 27.1.21117
Czy istnieje już symulator iPhone’a Duo albo profil w Device Hub?
Nie ma go w Xcode 27 RC. Komunikat Apple nazywa wsparcie w Device Hub „upcoming”, strona dla programistów datuje betę Xcode 27.1 na „later this month”, a pierwszy Tech Talk pokazuje kontrolki rozkładania, składania, obracania i zaginania w symulatorze Xcode 27.1.151314 (19 września: beta Xcode 27.1 (27A9269) wyszła 18 września; zob. aktualizację powyżej.22)
Co Apple opublikowało dotąd dla programistów?
Stronę Get Ready for iPhone Duo, sześć Tech Talków i harmonogram: Group Labs 16 i 17 września, sesje pytań i odpowiedzi na forum 23 września, warsztaty oraz betę Xcode 27.1 „later this month”, stronę „Designing for iPhone Duo” w Human Interface Guidelines oraz przewodnik „Preparing your app for iPhone Duo” oznaczony jako „coming later this month”.131416 (17 września: przewodnik jest już dostępny; zob. aktualizację powyżej.20) (19 września: beta również jest już dostępna.22)
Czy iPhone Duo ma Face ID?
Nie. Specyfikacja wymienia czytnik linii papilarnych Touch ID.2
Kiedy pojawią się API dla Duo?
Wraz z betą Xcode 27.1, o której strona Apple dla programistów mówi, że jest „coming later this month”. Urządzenie trafia do sprzedaży 23 października z iOS 27.1.113 (19 września: beta wyszła 18 września.22) (11 października: wersja RC, Xcode 27.1 RC (27A9275), wyszła 5 października, a App Store Connect przyjmuje jej buildy do App Store.23)
Źródła
-
Apple Newsroom, Apple unveils iPhone Duo, 9 września 2026. Zdanie dla programistów, Split View i multitasking, StandBy, funkcje aparatu, ceny i daty, wymóg iOS 27.1. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple, iPhone Duo Tech Specs, pobrane 9 września 2026: ekran wewnętrzny 1878 na 2670 pikseli przy 430 ppi, ekran zewnętrzny 1398 na 2034 piksele przy 460 ppi, czytnik linii papilarnych Touch ID, aparat FaceTime pod ekranem; po rozłożeniu 6,48 na 4,64 cala, 0,21 cala grubości, 8,96 uncji; po złożeniu 3,31 na 4,64 cala. Wymiary fizyczne w tym tekście to obliczenia autora na podstawie tych parametrów panelu i gęstości; wymiary w punktach wynikają z rozmiarów screenshotów z przypisu 17 przy założonej skali 3x. ↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple, iPhone 18 Pro Tech Specs, pobrane 9 września 2026: 1206 na 2622 piksele oraz 1320 na 2868 pikseli przy 460 ppi. ↩↩↩
-
Dokumentacja Apple dla programistów, iOS & iPadOS 27 RC Release Notes, pobrane 9 września 2026. Brak wzmianki o iPhonie Duo; wpisy o ciągłej zmianie rozmiaru. ↩↩↩↩↩
-
Dokumentacja Apple dla programistów, Xcode 27 RC Release Notes, pobrane 9 września 2026. Wpisy o Device Hub; brak wzmianki o iPhonie Duo. ↩↩↩↩↩
-
Dokumentacja Apple dla programistów, LAContext.biometryType. ↩↩
-
Dokumentacja Apple dla programistów, UIApplicationSupportsMultipleScenes oraz UIWindowScene. ↩↩
-
Dokumentacja Apple dla programistów, horizontalSizeClass. ↩
-
Hacker News, dyskusja iPhone Duo, 9 września 2026. Wyłącznie reakcje; tekst nie czerpie z niej żadnych faktów o produkcie. ↩
-
Apple Newsroom, Apple debuts iPhone 18 Pro and iPhone 18 Pro Max, 9 września 2026: „Przedsprzedaż rusza w sobotę 12 września, a dostępność zaczyna się w piątek 18 września”; „iOS 27 będzie dostępny jako bezpłatna aktualizacja oprogramowania w poniedziałek 14 września”. ↩↩
-
Apple Human Interface Guidelines, Layout, dane strony zapisane 9 września 2026: tabela klas rozmiaru wymienia każdego iPada, w tym 7,9-calowego iPada mini o wymiarach 768 na 1024 punkty, jako regular width w orientacji pionowej; tabela wymiarów urządzeń podaje 8,3-calowego iPada mini jako 744 na 1133 punkty, iPhone’a 17 Pro jako 402 na 874 punkty (1206 na 2622 piksele przy 3x), a iPhone’y 8 Plus, 7 Plus, 6s Plus i 6 Plus jako 414 na 736 punktów przy 3x na 1080 na 1920 pikselach. ↩↩↩↩
-
Dokumentacja Apple dla programistów, TN3192: Migrating your iPad app from the deprecated UIRequiresFullScreen key, wersja z 13 sierpnia 2026, pobrana 9 września 2026: „Począwszy od iOS 27 i iPadOS 27 UIRequiresFullScreen nie wyłącza już aplikacji ze zmiany rozmiaru. Zamiast tego system zmienia rozmiar sceny aplikacji dyskretnie”. „Przy dyskretnej zmianie rozmiaru scena nie zmienia rozmiaru w trakcie przeciągania okna”. ↩↩
-
Apple Developer, Get Ready for iPhone Duo, pobrane 9 września 2026 o 13:12 czasu pacyficznego, oraz wpis w aktualnościach dla programistów Get ready for iPhone Duo, datowany na 9 września 2026, godzina 11:00 czasu pacyficznego w kanale aktualności Apple: „Xcode 27.1 beta. Get the latest SDKs to build, run, and test your app for iPhone Duo. Coming later this month”; „Designing for iPhone Duo … Coming soon”; „Preparing your app for iPhone Duo … Coming later this month”; Group Labs 16 września w godzinach 20:00–21:00 czasu pacyficznego oraz 17 września w godzinach 8:00–9:00 czasu pacyficznego; sesje pytań i odpowiedzi 23 września; warsztaty „Coming later this month”. ↩↩↩↩↩↩↩↩↩↩↩
-
Apple Developer Tech Talks, Prepare your app for iPhone Duo, Raise the bar with iPhone Duo, Strike a pose with adaptive layouts on iPhone Duo, Leverage multiple displays and scenes on iPhone Duo, Build a great camera experience for iPhone Duo oraz Design for iPhone Duo, pobrane 9 września 2026. Tytuły i krótkie opisy pochodzą ze stron poszczególnych talków; cytowane zdania ze znacznikami czasu pochodzą z angielskich ścieżek napisów, tutaj w tłumaczeniu: Prepare your app (David Jackson, UI Frameworks) 0:04, 0:29, 0:36, 0:41, 0:49, 0:57, 1:05, 1:11, 1:16, 1:21, 1:25, 3:08, 3:20, 3:46, 3:50, 3:55, 3:57, 4:14, 4:36, 4:45, 5:19, 5:24, 6:18, 7:24; wiele ekranów i scen 3:38, 3:53, 4:05, 4:08, 4:26, 4:59, 5:09, 5:14; aparat 1:14, 1:20, 1:27, 1:34, 1:58, 2:04; Strike a pose 0:47 (zastrzeżone obszary), 2:13 (przemieszczenie), 2:18 (arrangementy). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple Human Interface Guidelines, Live Activities: Live Activities pojawiają się na ekranie blokady, ekranie początkowym, w Dynamic Island oraz w StandBy na iPhonie. ↩↩
-
Apple Human Interface Guidelines, Designing for iPhone Duo, wpis w dzienniku zmian z 9 września 2026: „Nowa strona. Wprowadza podstawowe pojęcia projektowania dla iPhone’a Duo, w tym pozycje urządzenia, dynamiczne układy na dwóch ekranach oraz paski narzędzi i paski kart na osi pionowej”. Pobrane 9 września 2026 o 16:15 czasu pacyficznego; strona Apple dla programistów podlinkowała ją w miejsce „Coming soon” do godziny 16:10 czasu pacyficznego. Cytaty w sekcji o przewodniku projektowym są dosłownymi fragmentami strony, tutaj w tłumaczeniu; odnośniki dla programistów na tej stronie to ToolbarItemVisibilityPriority, ToolbarOverflowMenu, ToolbarItemGroup, UIBarButtonItemVisibilityPriority, UIBarButtonItem, UIBarButtonItemGroup, UINavigationItem.additionalOverflowItems, NavigationSplitView, UISplitViewController, HStack, VStack, ZStack, Label oraz wcięcia bezpiecznego obszaru w SwiftUI i UIKit. ↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Apple, App Store Connect Help, Screenshot specifications, pobrane 10 września 2026 o 10:40 czasu pacyficznego, oraz App preview specifications („Device resolutions 2034 × 1398 pixels, 2853 × 2007 pixels”; „Wsparcie dla przesyłania materiałów dla tego urządzenia w App Store Connect będzie dostępne później w tym roku”); informacje o wydaniu App Store Connect, wpis z 9 września 2026: „Dodano specyfikacje podglądów aplikacji i screenshotów dla iPhone’a Duo, iPhone’a 18 Pro Max, iPhone’a 18 Pro, Apple Watch Ultra 4 oraz Apple Watch Series 12”.; Apple Developer, Releases, „App Store Connect Update”, 9 września 2026, godzina 15:00 czasu pacyficznego, niesione przez kanał RSS Releases (pobrany 10 września 2026 o 11:37 czasu pacyficznego) z pubDate „Wed, 09 Sep 2026 15:00:00 PDT”. Wiersz screenshotów: „iPhone Duo. Screenshot size 1398 × 2034 pixels, 2034 × 1398 pixels (outer display); 2007 × 2853 pixels, 2853 × 2007 pixels (inner display)”; wiersz 5,5 cala (iPhone 8 Plus, 7 Plus, 6s Plus, 6 Plus) wymaga 1242 x 2208 pikseli. Pobranie tej strony 9 września nie podążyło za jej przekierowaniem i zostało błędnie odczytane jako brak wiersza dla iPhone’a Duo. Poprawiono 7 października 2026: Apple otworzyło przyjmowanie zgłoszeń aplikacji dla iPhone’a Duo 5 października 2026: „You can submit your iPhone Duo optimized apps and games in App Store Connect today. Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.” (Od dziś można przesyłać w App Store Connect aplikacje i gry zoptymalizowane pod iPhone’a Duo; od kwietnia 2027 każda zgłaszana aplikacja lub gra będzie musiała zawierać zrzuty ekranu dla iPhone’a Duo.) Apple Developer, News, „Prepare and submit your apps for iPhone Duo”, 5 października 2026, https://developer.apple.com/news/?id=kkphp5qo. ↩↩↩↩↩↩↩↩
-
Apple Developer, Design Resources, Product Bezels, iPhone Duo (Bezel-iPhone-Duo.dmg, „Photoshop, PNG”), pobrane 10 września 2026. Wycięcia ekranów zmierzone przez autora z kanałów alfa plików PNG: Inner Open Landscape 2853 na 2007 wewnątrz ramki 3093 na 2247 z obramowaniem 120 pikseli z każdej strony; Outer Closed Portrait 1398 na 2034 wewnątrz 1574 na 2194, licząc każdy rząd z jakąkolwiek przezroczystością; górny i dolny rząd otworu mają alfę 1, więc zliczenie w pełni przezroczystych pikseli daje 2032 (poprawione 2 października 2026). ↩
-
Apple Developer, kanał RSS Releases, pobrany 15 września 2026: „Xcode 27 (27A266a)”, „iOS 27.0 (24A437)”, „iPadOS 27.0 (24A437)”, „macOS 27.0 (26A428)”, „tvOS 27.0 (24J361)”, „visionOS 27.0 (24M362)” i „watchOS 27.0 (24R364)”, wszystkie z datą poniedziałku 14 września 2026. iOS & iPadOS 27 Release Notes i Xcode 27 Release Notes, pobrane 15 września 2026 przez JSON dokumentacji Apple po wydaniu finalnym: zero wystąpień „Duo” bez rozróżniania wielkości liter w obu dokumentach; indeks Xcode Release Notes zawiera jeden wpis 27 i żadnego 27.1. Apple Developer, Get Ready for iPhone Duo, pobrana 15 września 2026: „Xcode 27.1 beta. Get the latest SDKs to build, run, and test your app for iPhone Duo. Coming later this month”; „Preparing your app for iPhone Duo. Learn how to build and update your app to dynamically resize and adjust its layouts for iPhone Duo. Coming later this month”; Group Labs 16 i 17 września, sesje pytań 23 września, warsztaty „Coming later this month”. Apple, App Store Connect release notes, wpis z 9 września 2026: „You can now upload apps built with Xcode 27 RC using the SDK for iOS 27.0 RC, iPadOS 27.0 RC, macOS 27.0 RC, tvOS 27.0 RC, visionOS 27.0 RC, and watchOS 27.0 RC for the App Store, and for internal and external testing through TestFlight.” Kanał pobrany 15 września zawiera jeden wpis RC, „iOS 27.0 RC (24A437)” z datą piątku 11 września 2026, i żadnego wpisu o Xcode 27 RC. ↩↩↩↩↩
-
Apple, Xcode 27.2 Beta Release Notes, pobrane przez JSON dokumentacji Apple 17 września 2026, Overview: „The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.” Słowo „Duo” występuje w tym dokumencie raz, a zero razy w iOS & iPadOS 27.2 Beta Release Notes pobranych w ten sam sposób; Known Issues w sekcji Device Hub informacji o Xcode to 181945323 i 182553164. Apple, Releases, kanał RSS pobrany 17 września 2026: „Xcode 27.2 beta (27B5019j)” i „iOS 27.2 beta (24B5084k)” z datą Wed, 16 Sep 2026; żaden tytuł wpisu nie zawiera 27.1. Apple, strona dla programistów o iPhonie Duo, pobrana 17 września 2026, Tools and documentation, trzy elementy odczytane po kolei: „Xcode 27.1 beta”; „Get the latest SDKs to build, run, and test your app for iPhone Duo”; „Coming later this month”. Na tej samej stronie kafelek „Preparing your app for iPhone Duo” przy pobraniu 15 września 2026 brzmiał „Coming later this month”, a 17 września „Explore documentation”, z odnośnikiem do przewodnika. Apple, Preparing your app for iPhone Duo, Technology Overviews, pobrany przez JSON dokumentacji Apple 17 września 2026: „Build your app with Xcode 27.1 or later to use all of the available screen space on iPhone Duo. In earlier versions, your app doesn’t extend under the status bar and camera.” „The iPhone Duo simulator in Device Hub requires Xcode 27.1, coming later this month.” Nazwy API w aktualizacji pochodzą z przewodnika; nie podaje on żadnych wymiarów ekranów. ↩↩↩↩↩↩↩↩↩
-
Sprawdzenie autora w SDK iOS 27.0 wewnątrz Xcode 27.0 (27A266a), 17 września 2026:
xcrun --sdk iphoneos --show-sdk-versionwypisuje 27.0 przyDEVELOPER_DIRwskazującym na ten Xcode. Przeszukanie tekstu interfejsu modułu SwiftUI (SwiftUI.swiftmodule/arm64e-apple-ios.swiftinterface) i każdego nagłówka wUIKit.framework/Headersnie znajduje żadnego wystąpieniaArrangementView,UIArrangementViewController,ReservedRegion,reservedRegions,VerticalBehavior,VerticalBarBehavior,verticalBarEdge,toolbarVerticalEdgeaniaxisBehavior. To samo przeszukanie znajdujepresentationPlacementw SwiftUI pod@available(anyAppleOS 27.0, *),preferredPlacementwUISheetPresentationController.hpodAPI_AVAILABLE(ios(27.0), tvos(27.0), visionos(27.0)),visibilityPriorityw SwiftUI pod@available(iOS 27.0, macOS 26.1, watchOS 27.0, tvOS 27.0, visionOS 27.0, *)oraz wUIBarButtonItem.hpodAPI_AVAILABLE(ios(27.0), tvos(27.0), visionos(27.0)),ToolbarOverflowMenuitopBarPinnedTrailingw SwiftUI pod@available(iOS 27.0, visionOS 27.0, *),pinnedTrailingGroupiadditionalOverflowItemswUINavigationItem.hpodAPI_AVAILABLE(ios(16.0)),backgroundExtensionEffectw SwiftUI pod@available(iOS 26.0, macOS 26.0, tvOS 26.0, watchOS 26.0, visionOS 26.0, *)orazUIBackgroundExtensionView.hw nagłówkach UIKit. ↩ -
Apple, Releases, kanał RSS pobrany 19 września 2026: „Xcode 27.1 beta (27A9269)” z datą Fri, 18 Sep 2026 10:00:00 PDT, „TestFlight Update” z datą Fri, 18 Sep 2026 14:00:00 PDT. Apple, Xcode 27.1 Beta Release Notes, pobrane przez punkt końcowy JSON dokumentacji 19 września 2026: Overview, zacytowany; Mac Catalyst, Known Issues (185924957, 187046347, z obejściami); Previews, New Features (182598534); Simulator, Known Issues (187708500, 187708663, 187708767); bez innych sekcji. Apple, Xcode 27.2 Beta Release Notes, pobrane 17 i 19 września 2026: pobrania różnią się tylko w Overview, gdzie zdanie z 17 września cytowane w 20 zastąpiła ramka „Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo.” z odnośnikiem do https://developer.apple.com/download/applications/. JSON dokumentacji Apple pobrany 19 września 2026,
metadata.platformsna każdej stronie: ArrangementView, UIArrangementViewController, reservedRegions(kind:options:layoutDirectionBehavior:), reservedRegions(kind:options:) i toolbarVerticalBehavior(_:): każda wymienia iOS 27.1 i iPadOS 27.1 z ustawioną flagą beta. Apple, informacje o wydaniu App Store Connect, 18 września 2026, TestFlight update, zacytowane w całości. Apple, Preparing your app for iPhone Duo, pobrane przez punkt końcowy JSON dokumentacji 17 i 19 września 2026; oba zdania zacytowane z odpowiednich pobrań. Apple, strona iPhone Duo dla deweloperów, pobrana 17 i 19 września 2026: w sekcji Tools and documentation trzeci element kafelka „Xcode 27.1 beta” brzmiał „Coming later this month” 17 września i „View betas” 19 września. Apple, „Build for iPhone Duo with new resources”, aktualności, 18 września 2026: „Get Xcode 27.1 beta.” oraz „Get Figma and Sketch design kits for iPhone Duo from the Apple Design Resources.” ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, Releases, kanał RSS pobrany 11 października 2026: „Xcode 27.1 RC (27A9275)” z datą Mon, 05 Oct 2026 10:00:00 PDT oraz „Xcode 27.1 beta (27A9269)” z datą Fri, 18 Sep 2026 10:00:00 PDT. Apple, App Store Connect release notes, pobrane 11 października 2026, wpis z 5 października 2026: „You can now upload apps built with Xcode 27.1 RC using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.” ↩↩↩↩