Uwagi do iOS 27.2: co weszło i gdzie podziało się 27.1
iOS 27.2 i iPadOS 27.2 ukazały się w poniedziałek 26 października 2026 roku jako build 24B119, o 10:00 czasu pacyficznego w kanale wydań Apple, obok drugiego buildu iOS 27.2, 24B91020, który Apple wymienia bez informacji, dla którego telefonu jest przeznaczony. macOS 27.2 Golden Gate (26B123), tvOS 27.2 (24K122), visionOS 27.2 (24N120), watchOS 27.2 (24S118) oraz aktualizacje zabezpieczeń aż do iOS 18.7.11 pojawiły się w tej samej minucie; Xcode 27.2 nie, i nadal jest nim release candidate z 19 października (27B48).18 Uwagi dla deweloperów to strona bety 4 plus dwa Known Issues: 8 obszarów z nagłówkami, 2 nowe funkcje, 5 rozwiązanych problemów, 7 znanych problemów, żadnych wycofań i nic, co uwagi wiązałyby z SDK, z którym aplikacja jest linkowana; mimo to jeden wpis od niego zależy, bo sonda zlinkowana z SDK 27.1 dostaje zerowe domyślne marginesy UIView w środowisku uruchomieniowym iOS 27.1, a ten sam kod zlinkowany z 27.0 zachowuje 8 punktów.24 Wydanie zamyka też pytanie otwarte od sześciu tygodni. iOS 27.1 ukazał się 23 października na iPhone Duo i na niczym więcej: strona zabezpieczeń Apple wymienia go wyłącznie dla „iPhone Duo”, jego strona z uwagami do wydania nigdy się nie pojawiła, a środowisko uruchomieniowe symulatora 27.1 na tym Macu przyjmuje dokładnie jeden typ urządzenia.456
TL;DR
- Buildy. Na urządzeniu 24B119 dla iOS i iPadOS 27.2, z drugim buildem iOS 27.2, 24B91020, wymienionym w kanale jako pierwszy. SDK to nadal SDK z wersji RC: Xcode 27.2 RC (27B48) z 19 października, które App Store Connect przyjmuje do App Store od 20 października. Jedyne środowisko uruchomieniowe 27.2 na tym Macu pochodzi z pierwszej bety, 24B5084k, więc numery SDK i symulatora w tabeli poniżej nie są numerami wersji finalnej.134
- Dwie funkcje, pięć poprawek, siedem znanych problemów. Rozszerzony monit App Tracking Transparency dla użytkowników z UE, wymagany we Francji, Niemczech, Włoszech, Polsce i Rumunii, oraz zerowe domyślne marginesy układu dla
UIView„on iOS 27.1 and later” (w iOS 27.1 i nowszych). Rozwiązane problemy to trzy poprawki StoreKit Testing i dwie zmiany nazwy API śledzenia. Nowe od bety 4: przekroczenie czasu w Nearby Interaction i wpis Health, który wciąż mówi „this beta” (ta beta).2 - API śledzenia ma już nazwę. Strona referencyjna Apple tytułuje teraz metodę
requestTrackingAuthorization(preferExpandedInterface:additionalInformationAction:completionHandler:), dla iOS 27.2, iPadOS 27.2 i Mac Catalyst 27.2, bez oznaczenia beta, a strona nazwy z pierwszej bety zwraca 404. Żaden nagłówek na tym Macu jej nie deklaruje; Xcode 27.2 RC, którego SDK powinien ją deklarować, nie jest tu zainstalowany.10 - Wpis o marginesach jest prawdziwy i zależy od SDK. Jeden kod UIKit zbudowany z trzema znacznikami SDK: oznaczony dla SDK 27.0 podaje 8-punktowe domyślne marginesy w każdym środowisku uruchomieniowym na tym Macu; oznaczony dla SDK 27.1 lub 27.2 podaje zero w środowisku iOS 27.1 (24A94425, na symulatorze iPhone Duo) i 8 w środowisku pierwszej bety iOS 27.2 oraz w iOS 18.5. Wpis wymienia system, a nie SDK; sonda pokazuje, że obowiązują oba warunki. Symulator to nie telefon, a środowisko uruchomieniowe wersji finalnej 27.2 nie jest tu zainstalowane.4
- iOS 27.1 należał wyłącznie do telefonu. Strona wydań zabezpieczeń Apple: „iOS 27.1”, „iPhone Duo”, „23 Oct 2026”, „This update has no published CVE entries.” Żadnej pozycji w kanale, żadnej strony z uwagami, żadnej sekcji na stronie Apple „About iOS 27 Updates” i środowisko uruchomieniowe symulatora, którego lista obsługiwanych urządzeń ma jedną pozycję. Strony Apple nie mówią „tylko”; to moja interpretacja tych list, a prasa w dniu premiery pisała to samo.45711
- 162 CVE. Strona z zawartością zabezpieczeń iOS 27.2 wymienia 162 wpisy CVE-2026 i jeden z 2022 roku w 67 komponentach, z WebKit na czele (26); strona nie używa ani słowa „exploited”, ani „actively”. iOS 26.7.2 przynosi 133 dla starszej linii.5
Który build jest który?
| Gdzie | Build | Dowód |
|---|---|---|
| Urządzenie, iOS 27.2 / iPadOS 27.2 | 24B119 | Kanał wydań, poniedziałek, 26 października 2026, 10:00 PDT1 |
| Urządzenie, iOS 27.2, drugi build | 24B91020 | Kanał wydań, ta sama minuta, wymieniony jako pierwszy; strona Apple dla niego zawiera tytuł, link do pobrania i link do uwag do wydania, i nie wymienia żadnego urządzenia1 |
| macOS 27.2 Golden Gate | 26B123 | Kanał wydań, poniedziałek, 26 października1 |
| tvOS 27.2, visionOS 27.2, watchOS 27.2 | 24K122, 24N120, 24S118 | Kanał wydań, poniedziałek, 26 października1 |
| iOS 27.2 RC / iPadOS 27.2 RC | 24B115 | Kanał wydań zapisany 26 października o 11:28 PDT, pozycje z datą poniedziałek, 19 października; zastąpione przez pozycje wersji finalnej1 |
| macOS, tvOS, visionOS, watchOS 27.2 RC | 26B118, 24K120, 24N118, 24S116 | Ta sama zapisana kopia1 |
| Xcode 27.2 RC | 27B48 | Kanał wydań, poniedziałek, 19 października 2026, 10:00 PDT; brak pozycji wersji finalnej Xcode 27.2 według stanu na 26 października, 16:12 PDT1 |
| SDK w becie Xcode 27.2 (27B5019j) | 24B5084k | iPhoneOS.sdk/System/Library/CoreServices/SystemVersion.plist; SDK z wersji RC nie jest tu zainstalowany4 |
| Środowisko uruchomieniowe symulatora iOS 27.2, pierwsza beta | 24B5084k | xcrun simctl list runtimes4 |
| iOS 27.1, urządzenie | nieopublikowany | Strona zabezpieczeń Apple wymienia wersję i telefon, bez buildu; brak pozycji w kanale; brak strony z uwagami15 |
| SDK w Xcode 27.1 (27A9275) | 24A94232 | SystemVersion.plist w obu SDK 27.1, iPhoneOS i iPhoneSimulator4 |
| Środowisko uruchomieniowe symulatora iOS 27.1 | 24A94425 | xcrun simctl list runtimes; obsługuje jeden typ urządzenia, iPhone Duo4 |
| App Store Connect | SDK z 27.2 RC przyjmowane | „You can now upload apps built with Xcode 27.2 RC using the SDK for iOS 27.2 RC, iPadOS 27.2 RC, macOS 27.2 RC, tvOS 27.2 RC, visionOS 27.2 RC, and watchOS 27.2 RC for the App Store, and for internal and external testing through TestFlight.” 20 października3 |
Kanał mówi dwie rzeczy tym, czego w nim brakuje. Pozycja Xcode 27.2 RC ma literę g z 19 października, więc tamtego ranka poprzedziło ją sześć pozycji, a żadna z nich nie przetrwała w dzisiejszym kanale. Kopia kanału zapisana dziś rano o 11:28 czasu pacyficznego wciąż je zawiera: „iOS 27.2 RC (24B115)”, „iPadOS 27.2 RC (24B115)”, „macOS 27.2 RC (26B118)”, „tvOS 27.2 RC (24K120)”, „visionOS 27.2 RC (24N118)” i „watchOS 27.2 RC (24S116)”, z literami od a do f. Pozycje wersji finalnej zastąpiły je tak, jak wersja finalna Xcode 27.1 zastąpiła swoją pozycję RC 15 października, a build na urządzenie zmienił się z 24B115 na 24B119 między RC a wersją finalną. Do tego w 43 pozycjach sięgających 11 maja żaden tytuł systemu operacyjnego nie zawiera „27.1”. Wpis o uwagach do 27.0 zauważył ten sam brak we wrześniu, a wpis o becie 27.2 śledził go przez cztery bety; dziś sprawa jest rozstrzygnięta, w sekcji o iPhone Duo poniżej.1
Same uwagi otwierają się zdaniami o zakresie, których używały strony bet, teraz bez nazwy bety: „The iOS & iPadOS 27.2 SDK provides support to develop apps for iPhone and iPad running iOS & iPadOS 27.2. The SDK comes bundled with Xcode 27.2.” (SDK iOS i iPadOS 27.2 pozwala tworzyć aplikacje na iPhone’a i iPada z iOS i iPadOS 27.2 i jest dołączone do Xcode 27.2). Strona Apple była ostatnio modyfikowana o 07:18 czasu pacyficznego, przed pozycjami w kanale. Indeks uwag do wydań wymienia dwie pozycje dla linii 27: „iOS & iPadOS 27 Release Notes” i „iOS & iPadOS 27.2 Release Notes”.2
Co mówią uwagi do 27.2?
Liczenie elementów list pod każdym nagłówkiem, tak jak wpis o 27.0 policzył swoje 93 obszary, daje 8 obszarów z 2 nowymi funkcjami, 5 rozwiązanymi problemami, 7 znanymi problemami i bez nagłówka Deprecations. Obejść nie liczę. W porównaniu ze stroną bety 4, którą czytałem 14 października, każdy wpis przechodzi z tym samym numerem radar, jeden nagłówek zmienia nazwę, a dwa Known Issues są nowe.2
App Tracking Transparency. Funkcja: „AppTrackingTransparency (ATT) now supports an alternative expanded prompt and reprompting on a yearly basis for EU users. The alternative prompt is required for users in France, Germany, Italy, Poland, and Romania. (179504171)” (ATT obsługuje teraz alternatywny, rozszerzony monit oraz ponowne pytanie raz w roku dla użytkowników z UE; alternatywny monit jest wymagany dla użytkowników we Francji, Niemczech, Włoszech, Polsce i Rumunii). Dwa Resolved Issues to zmiany nazwy: „Fixed: The new requestTrackingAuthorization(usingExpandedInterface:additionalInformationAction:completionHandler:) API is renamed to requestTrackingAuthorization(preferExpandedInterface:...). (187149729)” oraz „Fixed: The new requestTrackingAuthorizationPreferExpandedInterface:... API is renamed to requestTrackingAuthorizationPreferringExpandedInterface:.... (187610745)” Drugi wpis jest zapisany jako selektor Objective-C po obu stronach, tam gdzie strona bety 3 mieszała oba języki, i teraz czyta się go jednoznacznie: metoda w Swifcie to requestTrackingAuthorization(preferExpandedInterface:additionalInformationAction:completionHandler:), a jej selektor Objective-C zaczyna się od requestTrackingAuthorizationPreferringExpandedInterface:. Strona referencyjna Apple zgadza się z połową dotyczącą Swifta, a następna sekcja ją omawia.210 Mój wpis o monicie śledzenia w UE zawiera klucz Info.plist, przycisk „Additional Information”, który zamyka monit bez zapisania decyzji, oraz kroki do wydania.
UIKit. Druga funkcja, bez zmian od bety 3: „On iOS 27.1 and later, the default layout margins for a UIView are zero. A view controller continues to provide its view with systemMinimumLayoutMargins, which vary depending on the presentation context. To inherit these margins in a subview of the view controller’s view, set its preservesSuperviewLayoutMargins property to true. (186294594)” (w iOS 27.1 i nowszych domyślne marginesy układu UIView wynoszą zero; view controller nadal przekazuje swojemu widokowi systemMinimumLayoutMargins, które zależą od kontekstu prezentacji, a aby odziedziczyć te marginesy w podwidoku widoku view controllera, należy ustawić jego właściwość preservesSuperviewLayoutMargins na true). Wpis wymienia system operacyjny i nie mówi nic o SDK, z którym aplikacja jest linkowana, a wersja, którą wymienia, 27.1, istnieje tylko na iPhone Duo. Uruchomiłem to; wynik jest w sekcji następującej po kolejnej i okazuje się, że SDK ma znaczenie.2
StoreKit Testing in Xcode. Trzy poprawki i jeden Known Issue, wszystkie przeniesione z bet: „Fixed: Intro offer eligibility does not reset immediately after calling SKTestSession.clearTransactions(). (183933307) (FB24137836)”, „Fixed: Changing the storefront or locale using SKTestSession doesn’t propagate through Storefront.updates. (184155259)” i „Fixed: Failed purchases using SKTestSession might display error dialogs even when dialogsDisabled is set to true. (184255116)”; nadal otwarte pozostaje „Making a purchase in-app for a subscription that is a member of a subscription bundle incorrectly allows the user to unbundle instead of throwing an error. (186018916)” (zakup w aplikacji subskrypcji należącej do pakietu subskrypcji błędnie pozwala użytkownikowi rozdzielić pakiet zamiast zgłosić błąd). Dwie środkowe poprawki były w uwagach do 27.0 jako Known Issues, więc test StoreKit, który pod 27.0 był niestabilny przy zmianach sklepu, ma teraz swoją poprawkę na stronie opublikowanego wydania, a w środowisku uruchomieniowym symulatora będzie ją miał, gdy ukaże się Xcode 27.2; urządzenie z 27.2 ma ją już dziś.2
Nearby Interaction, nowy wpis. „An NISession running with a DL-TDoA configuration in a foreground app might be invalidated unexpectedly with a resource timeout error (NIErrorCodeResourceUsageTimeout). (189664070)” (sesja NISession z konfiguracją DL-TDoA w aplikacji na pierwszym planie może zostać nieoczekiwanie unieważniona z błędem przekroczenia czasu zasobów). Obejście: „Run a new NISession with the same DL-TDoA configuration.” (uruchomić nową NISession z tą samą konfiguracją DL-TDoA). DL-TDoA to tryb różnicy czasu nadejścia w łączu w dół dla pozycjonowania ultraszerokopasmowego względem zainstalowanych kotwic; jeśli aplikacja z niego korzysta, trzymana sesja może zakończyć się tym kodem błędu, a lekarstwem jest uruchomienie kolejnej.2
Health, jeden nowy wpis. Wpis obecny od pierwszej bety, teraz „Personalized summaries might not generate as expected in the Insights tab. (186964423)” (spersonalizowane podsumowania mogą nie generować się zgodnie z oczekiwaniami na karcie Insights), i nowy, którego Apple nie przeredagowało na potrzeby wersji finalnej: „The redesigned Health app is not included in this beta and was available in the previous beta for testing purposes only. If you update to this beta, your Health app data from the previous beta remains on your device and is viewable in Settings. The redesigned Health app will be available again in an upcoming iOS beta. (188843443)” (przeprojektowanej aplikacji Health nie ma w tej becie, a w poprzedniej była dostępna wyłącznie do testów; po aktualizacji do tej bety dane Health z poprzedniej bety zostają na urządzeniu i można je obejrzeć w Settings, a przeprojektowana aplikacja wróci w jednej z kolejnych bet iOS). Czytany dosłownie na stronie wersji finalnej, wpis mówi, że przeprojektowanej aplikacji Health nie ma w iOS 27.2 i że wróci w późniejszej becie. Uwagi Apple do 27.2 przeznaczone dla klientów w ogóle nie wspominają o Health.27
Shortcuts, Quest Lab Appointments, Simulator. „Describe a Shortcut might fail with the error »Something went wrong. Try again later.« (187499433)”; „If you have an upcoming lab appointment, wait to update iOS versions until you receive your results. Contact Quest directly to reschedule your appointment if you run into any issues. (184530996)” (jeśli zbliża się wizyta w laboratorium, z aktualizacją iOS należy poczekać do otrzymania wyników, a w razie problemów skontaktować się bezpośrednio z Quest w sprawie zmiany terminu), z wynikami badań dostępnymi także „under Browse > Lab Results”; oraz, pod nagłówkiem, który teraz nazywa się Simulator, a w becie 3 nazywał się Simulator Runtimes, „Cloning a simulator device running runtime 27.2 might fail due to incorrect file permissions. (188407822) (FB24939277)” (klonowanie symulowanego urządzenia ze środowiskiem uruchomieniowym 27.2 może się nie udać z powodu nieprawidłowych uprawnień plików), z obejściem Apple: find ~/Library/Developer/CoreSimulator/Devices/<SOURCE_UDID>/data -name '*.sb-????????-??????' -delete. Polecenie usuwa pliki; przed jego uruchomieniem należy wstawić identyfikator urządzenia źródłowego w miejsce <SOURCE_UDID>, a xcrun simctl list devices wypisuje identyfikatory.2
Co zmienia się w chwili, gdy budujemy z SDK 27.2?
Według uwag nic. Uwagi do 27.0 miały 23 wpisy, które zadziałają przy pierwszym archiwum zbudowanym z nowego SDK; uwagi do 27.2 nie mają ani jednego sformułowanego jako „in apps built with the 27.2 SDK” (w aplikacjach zbudowanych z SDK 27.2). Według sondy z następnej sekcji jeden. API śledzenia zależy od dostępności: nagłówek pierwszej bety oznacza requestTrackingAuthorizationUsingExpandedInterface:additionalInformationAction:completionHandler: jako API_AVAILABLE(ios(27.2)) API_UNAVAILABLE(macos, tvos, watchos, visionos), a strona referencyjna przemianowanej metody wymienia iOS 27.2, iPadOS 27.2 i Mac Catalyst 27.2. Wywołanie jej wymaga SDK 27.2 i if #available(iOS 27.2, *) wokół wywołania; brak wywołania niczego nie zmienia, z wyjątkiem pięciu krajów, w których, według strony referencyjnej Apple dla starszej metody requestTrackingAuthorization(completionHandler:), arkusz pełnoekranowy pojawia się także po tym wywołaniu. Wpis o marginesach czyta się jako zależny od systemu operacyjnego, „on iOS 27.1 and later”, bez żadnego warunku dotyczącego SDK, a sonda pokazuje warunek SDK, który uwaga pomija: zlinkowana z 27.0 aplikacja zachowuje 8-punktowe marginesy w środowisku uruchomieniowym 27.1; zlinkowana z 27.1 dostaje zero.2410
Lista dzieli się więc tak samo jak wrześniowa. Co zmienia się po ponownym zbudowaniu: marginesy, na urządzeniu z 27.1 lub nowszym, przy pierwszym archiwum zbudowanym z SDK 27.1 albo z SDK 27.2 w Xcode 27.2 RC. Co zmienia się na telefonie użytkownika niezależnie od ponownego zbudowania: zmiany systemu, które opisuje strona Apple dla klientów, czyli to, że Siri AI zachowuje „useful context from previous Siri interactions” (przydatny kontekst z wcześniejszych interakcji z Siri), „Suggestions in Messages” (sugestie w Messages), edycje Shared Albums, „Support for SynthID watermarking” (obsługa znaków wodnych SynthID) oraz to, że FaceTime pozwala na „adding a third party sign language interpreter or live captioner to a call” (dodanie do połączenia zewnętrznego tłumacza języka migowego lub osoby tworzącej napisy na żywo). Żadna z tych zmian nie jest API w tych uwagach. Poprawki StoreKit Testing nie należą do żadnej z list; zmieniają przebiegi SKTestSession w Xcode i w symulatorze, nie telefon użytkownika.27
Wpis o marginesach w praktyce
Wpis to jedno zdanie o zachowaniu, „the default layout margins for a UIView are zero”, z wersją, „iOS 27.1 and later”, i bez warunku SDK. Taki kształt można przetestować tak, jak wpis o 27.0 przetestował poprawkę NSURL: jeden kod, kilka środowisk uruchomieniowych i tym razem dwa buildy. Skompilowałem sondę UIKit dwa razy z tego samego pliku, z SDK iPhoneSimulator 27.1 z Xcode 27.1 i minimalną wersją iOS 18.0. Pierwszy build uruchomił swiftc z -sdk i niczym więcej, a jego LC_BUILD_VERSION podaje sdk 27.0, bo sterownik zapisał na etapie linkowania wersję SDK macOS; drugi uruchomiono z SDKROOT wyeksportowanym na SDK symulatora i podaje sdk 27.1. Wpis o symulatorze wpadł we wrześniu w tę samą pułapkę i zawiera ostrzeżenie. Oba pliki binarne uruchomiono na trzech symulatorach: iOS 18.5 (22F77) na iPhonie 16 Pro, becie iOS 27.2 (24B5084k) na iPhonie 16 Pro i iOS 27.1 (24A94425) na iPhonie Duo, bo środowisko uruchomieniowe 27.1 odrzuca każdy inny typ urządzenia.4
| Odczyt | iOS 18.5, dowolny build | iOS 27.2 beta 1, dowolny build | iOS 27.1 na iPhone Duo, build sdk 27.0 |
iOS 27.1 na iPhone Duo, build sdk 27.1 |
|---|---|---|---|---|
UIView().layoutMargins |
8, 8, 8, 8 | 8, 8, 8, 8 | 8, 8, 8, 8 | 0, 0, 0, 0 |
UIView().directionalLayoutMargins |
8, 8, 8, 8 | 8, 8, 8, 8 | 8, 8, 8, 8 | 0, 0, 0, 0 |
Domyślne preservesSuperviewLayoutMargins |
false |
false |
false |
false |
Podwidok z preservesSuperviewLayoutMargins = true, marginesy nadwidoku 20 |
20, 20, 8, 8 | 20, 20, 8, 8 | 20, 20, 8, 8 | 20, 20, 0, 0 |
Dziecko widoku view controllera, w oknie, preservesSuperviewLayoutMargins = true |
8, 16, 8, 16 | 8, 16, 8, 16 | 8, 16, 8, 16 | 0, 16, 0, 16 |
Widok view controllera, w oknie, systemMinimumLayoutMargins |
0, 16, 0, 16 | 0, 16, 0, 16 | 0, 16, 0, 16 | 0, 16, 0, 16 |
Ostatnia kolumna to wpis. Zlinkowany z SDK 27.1 i uruchomiony w środowisku 27.1, goły UIView podaje zero z każdej strony, podwidok zachowujący marginesy nadwidoku dziedziczy 20 punktów na dwóch krawędziach, których dotyka, i zero na pozostałych dwóch, gdzie wcześniej dostawał 8, a dziecko widoku view controllera dostaje 16-punktowe minimum kontrolera po bokach i nic u góry ani u dołu. Własny widok view controllera się nie zmienia: systemMinimumLayoutMargins wynosi (0, 16, 0, 16) w każdej kolumnie, co odpowiada zdaniu wpisu o tym, że view controllery nadal przekazują swoim widokom marginesy. Kolumna obok to warunek, którego wpis nie podaje: ten sam kod w tym samym środowisku, oznaczony dla SDK 27.0, wszędzie zachowuje domyślne 8 punktów. Trzeci build, oznaczony sdk 27.2 z SDK z bety Xcode 27.2, wypisuje te same zera w środowisku 27.1 i te same 8 punktów w środowisku bety 27.2, więc „27.1 or later” sprawdza się dla SDK, z którym większość czytelników będzie budować archiwa. Zmiana zachodzi zatem na urządzeniu z 27.1 lub nowszym, dla aplikacji, której plik binarny jest zlinkowany z SDK 27.1 lub nowszym, a aplikacja wydana z Xcode 27 zachowuje stare marginesy na iPhonie Duo, dopóki nie zostanie ponownie zbudowana. Dwa ograniczenia. Środowisko uruchomieniowe symulatora to nie telefon, a na iPhonie Duo tego nie uruchamiałem. Poza tym środowisko pierwszej bety 27.2 daje 8 punktów obu buildom, co pasuje do wpisu, który pojawił się po raz pierwszy na stronie bety 3 z 5 października; środowiska wersji finalnej, 24B119, nie da się zainstalować, dopóki nie ukaże się Xcode 27.2, więc kolumna 27.2 dotyczy bety, a nie wersji finalnej.4
Wartości w oknie dla samego widoku view controllera różnią się w zależności od urządzenia, a sonda mierzy dlaczego: na obu symulatorach iPhone 16 Pro layoutMargins wynosi (62, 16, 12, 16) przy safeAreaInsets równym (62, 0, 12, 0), a na iPhonie Duo (0, 16, 34, 16) przy safeAreaInsets równym (0, 0, 34, 0). W obu przypadkach marginesy to wcięcia bezpiecznego obszaru plus minimum (0, 16, 0, 16), tak samo w 18.5 jak w 27.2 i w obu buildach.4
iPhone Duo trafił do sprzedaży z iOS 27.1, którego nie dostał nikt inny
W piątek 23 października newsroom Apple opublikował fotorelację „iPhone Duo arrives at Apple Store locations worldwide”: „On Friday, October 23, the highly anticipated iPhone Duo made its debut at Apple Store locations worldwide.” (w piątek 23 października długo wyczekiwany iPhone Duo zadebiutował w sklepach Apple Store na całym świecie). Dzień wcześniej tekst o deweloperach: „Starting this Friday, iPhone Duo users can discover amazing apps and games optimized for the first foldable iPhone,” oraz „Developers can easily adapt their apps for iPhone Duo using new and updated APIs in the iOS 27.1 SDK.” (od tego piątku użytkownicy iPhone Duo mogą odkrywać aplikacje i gry zoptymalizowane pod pierwszego składanego iPhone’a, a deweloperzy mogą dostosować aplikacje za pomocą nowych i zaktualizowanych API w SDK iOS 27.1).6 Telefon trafił więc do sprzedaży w dniu i z wersją, które Apple podało 9 września, a wpis o iPhone Duo dla deweloperów i wpis o przygotowaniu aplikacji na iPhone Duo pozostają aktualne w obecnym brzmieniu. Czego te wpisy nie mogły powiedzieć aż do tego tygodnia, to że iOS 27.1 należy wyłącznie do tego telefonu.
Dowodem są cztery braki i jeden wiersz. Strona wydań zabezpieczeń Apple, która wymienia każdą aktualizację z datą, zawiera „iOS 27.1” z „iPhone Duo” w kolumnie urządzeń, „23 Oct 2026” w kolumnie daty i „This update has no published CVE entries”, bez linku do strony z zawartością. Większość wierszy na tej stronie wymienia rodzinę urządzeń, a nieliczne, które wymieniają jeden produkt, to wzorzec Apple dla aktualizacji przygotowanej dla nowego sprzętu: „macOS Tahoe 26.3.2” dla „MacBook Neo” 10 marca 2026, „watchOS 27.0.1” dla „Apple Watch Series 12 and Apple Watch Ultra 4” 23 września 2026, „watchOS 26.0.1” dla „Apple Watch Ultra 3” 18 września 2025, każdy z tą samą adnotacją „no published CVE entries”. Kanał wydań, który podawał bety 27.2 z numerami buildów, nigdy nie zawierał pozycji iOS 27.1. Indeks uwag do wydań wymienia 27 i 27.2 i nic pomiędzy. Strona Apple „About iOS 27 Updates”, opublikowana 26 października, ma sekcje dla iOS 27, iOS 27.0.1 i iOS 27.2, żadnej dla 27.1 i ani jednego zdania o iPhone Duo. A na tym Macu xcrun simctl list runtimes -j podaje dla środowiska uruchomieniowego iOS 27.1 jeden obsługiwany typ urządzenia, iPhone Duo, podczas gdy środowisko bety 27.2 wymienia 62; simctl create dla iPhone 16 Pro z 27.1 kończy się błędem „Incompatible device”.12457
Trzy ograniczenia tej interpretacji. Strony Apple nigdy nie używają słowa „only”, więc „wyłącznie iPhone Duo” to mój wniosek z list, a nie zdanie Apple. Lista urządzeń środowiska uruchomieniowego symulatora sama w sobie jest słabym świadkiem; środowiska visionOS na tym Macu też wymieniają jeden typ urządzenia, bo jest jeden Vision Pro, więc liczy się porównanie w obrębie linii iOS, gdzie środowiska 18.x i 27.2 wymieniają od 53 do 62 typów, a 27.1 jeden. Wreszcie „nigdy nie zawierał” opiera się na pobraniach, a nie na ciągłym zapisie: skrypt odczytywał kanał co dziesięć minut od wieczora 15 października do dzisiejszego południa, 1403 odczyty, z których 20 nie zdołało pobrać kanału, szukając tytułu zaczynającego się od „iOS 27.1 (”, i żaden odczyt go nie znalazł, łącznie z kopią zapisaną dziś o 11:28 czasu pacyficznego, która wciąż zawierała pozycje RC z 19 października. Prasa w dniu premiery napisała to samo prostszymi słowami i cytuję ją jako prasę.111
Do tego dochodzą dwa numery buildów, których Apple nie opublikowało na żadnej stronie, którą mógłbym zacytować. SDK iPhoneOS i iPhoneSimulator w Xcode 27.1 (27A9275), wersji finalnej od 15 października, identyfikują się jako iOS 27.1 build 24A94232, numer niższy niż 24A94403, który miało SDK z wrześniowej bety, a środowisko uruchomieniowe symulatora 27.1 to 24A94425. Prasa dziesięć dni przed premierą podała te same dwa numery jako build, z którym telefon trafia do sprzedaży, i jego aktualizację z pierwszego dnia, co odnotowuję jako doniesienia prasowe, a nie słowo Apple.411
Luźnym końcem jest dzisiejszy drugi build iOS 27.2. Kanał wymienia „iOS 27.2 (24B91020)” jako pierwszy i „iOS 27.2 (24B119)” jako drugi, oba o 10:00, a strona Apple dla pierwszego zawiera tytuł, link do pobrania i link do uwag do wydania i nie wymienia żadnego urządzenia. Osobny build dla najnowszego sprzętu to wzorzec Apple dla telefonu, który zadebiutował na własnej gałęzi, a prasa z tego dnia przedstawia dwie funkcje, których nie wymieniają uwagi Apple dla klientów, obsługę Apple Pencil (USB-C) i Edge Light na iPhone Duo, jako nowości 27.2 dla tego telefonu. Dopóki strona Apple nie powie, które urządzenie korzysta z 24B91020, wpis mówi to, co mówi kanał: dwa buildy, jedna wersja.111
Co to oznacza dla aplikacji: nic nowego, z czym trzeba budować, i jeden numer, na który nie trzeba już czekać. Strona z uwagami do 27.1 się nie pojawi; uwagi do 27.2 zawierają jedyny wpis UIKit, który wymienia 27.1, a API Duo, które wpis o symulatorze odczytał z SDK 27.1, to te, z którymi należy wydawać. TestFlight 4.4.1 z 22 października „includes: Support for iPhone Duo” (zawiera obsługę iPhone Duo), więc zewnętrzny build wysłany testerowi z tym telefonem instaluje się przez aplikację ze sklepu, a nie przez obejście.3
Co zawiera treść zabezpieczeń?
Strona zabezpieczeń iOS 27.2, „Released October 26, 2026”, wymienia 162 identyfikatory CVE-2026 i jeden z 2022 roku w 67 nagłówkach komponentów; WebKit ma 26, Kernel 15, ImageIO 11, a AVEVideoEncoder i Model I/O po sześć. Słowa „exploited” i „actively” na stronie nie występują. Większość wpisów brzmi „Available for: iPhone 11 and later, iPad Pro 12.9-inch 4th generation and later, iPad Pro 11-inch 2nd generation and later, iPad Air 4th generation and later, iPad 9th generation and later, and iPad mini 6th generation and later.” Strona z tego samego dnia dla iOS 26.7.2 i iPadOS 26.7.2 wymienia 133 wpisy CVE-2026 i jeden z 2019 roku dla linii, która nie przeszła na 27, macOS Golden Gate 27.2 wymienia 262 i ten sam wpis z 2022 roku, a Safari 27.2 wymienia 33.5
Dla dewelopera liczy się liczba z wiersza 27.1: zero. Telefon, który trafił do sprzedaży w piątek z 27.1 i dziś aktualizuje się do 27.2, dostaje razem z nią 162 poprawki, co jest jednym z argumentów przeciwko trzymaniu testowego Duo na 27.1 tylko po to, by zachować reprodukcję.
Czy Xcode 27.2 już się ukazał?
Nie. Release candidate, 27B48, ma datę poniedziałek, 19 października, 10:00 czasu pacyficznego i jest najnowszą pozycją Xcode w kanale; jego strona z uwagami nadal nosi tytuł „Xcode 27.2 RC Release Notes”, była ostatnio modyfikowana 19 października o 04:56 GMT, czyli wieczorem 18 października w Cupertino, a jej Overview brzmi „Xcode 27.2 RC includes Swift 6.4 and SDKs for iOS 27.2, iPadOS 27.2, tvOS 27.2, watchOS 27.2, macOS 27.2, and visionOS 27.2. Xcode 27.2 RC supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27.2 RC requires a Mac running macOS Tahoe 26.6 or later.” (zawiera Swift 6.4 i SDK wszystkich platform 27.2, obsługuje debugowanie na urządzeniach z iOS 17 i nowszym, tvOS 17 i nowszym, watchOS 10 i nowszym oraz visionOS i wymaga Maca z macOS Tahoe 26.6 lub nowszym). App Store Connect przyjmuje buildy z SDK z wersji RC do App Store od 20 października, co cytuje tabela powyżej, i to różni się od września pod jednym względem: Xcode 27 ukazał się tego samego dnia co systemy 27.0, a tym razem systemy ukazały się bez swojego Xcode.138
Strona RC dodaje kilka rzeczy względem strony bety 3, którą wpis o becie 27.2 czytał 14 października. Device Hub „contains multiple improvements” (zawiera wiele ulepszeń), wymienionych jako Slow Motion Animation, Simulate Shake, Simulate Fall i Simulate Memory Pressure dla symulatorów, menu kontekstowe dla zrzutów ekranu, lepsze przeciąganie i upuszczanie ikony zrzutu, opcja ukrycia ramek urządzeń oraz grupa App Settings z zachowaniem przy zamykaniu, skrótami klawiszowymi, bezpiecznym wprowadzaniem z klawiatury, symulacją klawiatury sprzętowej i miejscem zapisu zrzutów ekranu (189236369). Dwa Known Issues Device Hub z bet figurują jako naprawione: awaria Vision Pro bez środowiska uruchomieniowego visionOS (188313956) i pozycja menu ostrzeżenia o pamięci (188326513). iPhone Duo dostaje jedną poprawkę i jeden nowy Known Issue: „Fixed: In the iPhone Duo simulator, an app using CameraCaptureAccessory can use both displays at the same time without an active camera capture session. (190155353)” (w symulatorze iPhone Duo aplikacja używająca CameraCaptureAccessory mogła korzystać z obu ekranów jednocześnie bez aktywnej sesji przechwytywania z kamery) oraz „When switching between the inner and outer display of the iPhone Duo simulator, modifier keys such as Shift and Command might stop working. (189465196)” (przy przełączaniu między wewnętrznym a zewnętrznym ekranem symulatora iPhone Duo klawisze modyfikujące, takie jak Shift i Command, mogą przestać działać), z obejściem „Click with the mouse on the currently visible screen” (kliknąć myszą na aktualnie widocznym ekranie). Instruments, Memory Gauge i XCTest UI Automation wymieniają po jednej poprawce, ostatnia dotyczy testów „utilizing .rotateDigitalCrown”.8
W mocy pozostają dwa wpisy istotne dla projektu skierowanego na ten telefon. Known Issue dotyczący SDK się nie zmienił: „macOS, watchOS, tvOS, and visionOS SDKs in Xcode 27.2 incorrectly report 27.1 as a valid deployment target” (SDK macOS, watchOS, tvOS i visionOS w Xcode 27.2 błędnie podają 27.1 jako prawidłowy deployment target), a skoro wiadomo już, że 27.1 to wydanie wyłącznie na iPhone’a, target 27.1 na którejkolwiek z tych czterech platform to wersja, która nie istnieje. Wpis o Mac Catalyst, „Projects that use APIs specific to iOS 27.1 show compile errors when building for Mac Catalyst” (projekty używające API specyficznych dla iOS 27.1 pokazują błędy kompilacji przy budowaniu dla Mac Catalyst), z #if !targetEnvironment(macCatalyst) jako obejściem, jest w wersji RC nadal otwarty, więc aplikacja przygotowana na Duo, która jest wydawana także na Maca, zachowuje swoje warunki kompilacji.8
Pozostałe systemy 27.2
Uwagi do macOS 27.2 Golden Gate mają sześć obszarów: poprawkę General dla awarii uzupełniania kodu w Xcode na becie (186939138), wycofanie w AppKit, „The EnablePasteboardPrivacyDeveloperPreview user default has been removed. (186955507)” (usunięto domyślne ustawienie użytkownika EnablePasteboardPrivacyDeveloperPreview), Known Issue w Display Settings, „When an external display is connected, display settings might not be restored correctly, and the display arrangement might change. (188643179)” (po podłączeniu zewnętrznego ekranu ustawienia ekranu mogą nie zostać poprawnie przywrócone, a układ ekranów może się zmienić), problem z Notifications po czystej instalacji z System Settings jako obejściem, ten sam wpis Shortcuts co w iOS i te same cztery wpisy StoreKit Testing. Cztery rozwiązane, jedno wycofanie, cztery znane. Wpis o uwagach do macOS 27 omawia wydanie 27.0, na którym opiera się ta aktualizacja, a Mac, na którym powstał ten wpis, jej nie zainstalował: działa na macOS 27.0 (26A428).49
tvOS 27.2, visionOS 27.2 i watchOS 27.2 ukazały się z tym samym znacznikiem czasu. Na potrzeby tego wpisu nie czytałem ich stron z uwagami. Pozycje kanału dla starszych linii to iPadOS 26.7.2 (23H128) oraz iOS i iPadOS 18.7.11 (22H384), a strona zabezpieczeń dodaje macOS Tahoe 26.7.2, macOS Sequoia 15.8.2, tvOS 26.6.1 i Safari 27.2 dla Sequoi i Tahoe.15
Co zrobiłbym w tym tygodniu
- Jeśli aplikacja jest sprzedawana w UE, przed wydaniem buildu 27.2 warto przeczytać przemianowaną metodę na stronie referencyjnej Apple:
requestTrackingAuthorization(preferExpandedInterface:additionalInformationAction:completionHandler:)lub jej wariantasync, który zwraca status. Wywołanie napisane z nazwą z pierwszej bety nie skompiluje się z nagłówkiem, który już jej nie deklaruje, a żaden SDK na tym Macu nie deklaruje nowej.10 - Należy ustawić marginesy, od których zależy układ, zanim zbuduje się archiwum z SDK 27.1 lub 27.2. Goły
UIViewtraci domyślne 8 punktów w iOS 27.1, gdy tylko plik binarny zostanie zlinkowany z 27.1 lub nowszym, jak pokazuje sonda powyżej; kod, który jawnie ustawialayoutMarginslubdirectionalLayoutMargins, jest poprawny przed zmianą i po niej, a podwidok, który ma podążać za marginesami view controllera, dostajepreservesSuperviewLayoutMargins = true.24 - Warto ponownie uruchomić testy StoreKit, które były niestabilne przy zmianach sklepu lub
dialogsDisabled; obie poprawki są już na stronie opublikowanego wydania, a środowisko uruchomieniowe, które je zawiera, przyjdzie z Xcode 27.2.2 - Przy korzystaniu z Nearby Interaction w trybie DL-TDoA należy obsłużyć
NIErrorCodeResourceUsageTimeout, uruchamiając nową sesję z tą samą konfiguracją, co jest obejściem Apple i jedynym oferowanym.2 - Nie warto dłużej czekać na uwagi do iOS 27.1. Pracę nad Duo należy budować z SDK 27.1 w Xcode 27.1 (27A9275), tak jak opisuje wpis o przygotowaniu aplikacji na iPhone Duo, testerom wysyłać TestFlight 4.4.1, a gdy zgłoszenie błędu mówi „27.1”, prosić o numer buildu, bo Apple nie opublikowało żadnego.34
- Testowe urządzenie Duo warto trzymać na 27.1 tylko wtedy, gdy potrzebna jest reprodukcja na 27.1; aktualizacja do 27.2 przynosi 162 poprawki zabezpieczeń, których wiersz 27.1 nie wymienia.5
Często zadawane pytania
Kiedy ukazał się iOS 27.2 i jaki ma build?
W poniedziałek 26 października 2026 roku, o 10:00 czasu pacyficznego w kanale wydań Apple, jako build 24B119 dla iPhone’a i iPada, z drugim buildem iOS 27.2, 24B91020, wymienionym w tej samej minucie dla urządzenia, którego strona nie wymienia.1
Czy iOS 27.1 jest dostępny na mojego iPhone’a?
Nie, i nigdy nie był. iOS 27.1 ukazał się 23 października wyłącznie na iPhone Duo: strona zabezpieczeń Apple wymienia „iPhone Duo” jako jego urządzenie, nie istnieje żadna strona z uwagami do wydania, strona „About iOS 27 Updates” nie ma sekcji 27.1, a środowisko uruchomieniowe symulatora 27.1 przyjmuje jeden typ urządzenia. iOS 27.2 ukazał się 26 października dla „iPhone 11 and later”, czyli linii urządzeń ze strony zabezpieczeń Apple, która według sformułowania Apple obejmuje iPhone Duo.457
Co nowego dla deweloperów w iOS 27.2?
Dwie funkcje i pięć poprawek. Rozszerzony monit App Tracking Transparency dla użytkowników z UE, obowiązkowy w pięciu krajach, z API dwukrotnie przemianowanym w trakcie bet na requestTrackingAuthorization(preferExpandedInterface:additionalInformationAction:completionHandler:); zerowe domyślne marginesy układu UIView w iOS 27.1 i nowszych; oraz trzy poprawki StoreKit Testing. Siedem Known Issues, z czego dwa nowe od bety 4, i żadnych wycofań.210
Czy aplikację trzeba ponownie zbudować dla iOS 27.2?
Nie po to, żeby nadal działała. Żaden wpis nie jest sformułowany jako dotyczący aplikacji zbudowanych z SDK 27.2, ale jeden tak się zachowuje: zerowe domyślne marginesy UIView pojawiają się na urządzeniu z 27.1 w chwili, gdy plik binarny zostanie po raz pierwszy zlinkowany z SDK 27.1 lub nowszym, jak pokazuje sonda powyżej, i nie wcześniej. Ponowne zbudowanie z SDK 27.2 pozwala też wywołać nową metodę śledzenia; to SDK jest w Xcode 27.2 RC, które App Store Connect przyjmuje do App Store.23410
Czy Xcode 27.2 jest już wydany?
Nie według stanu na popołudnie 26 października. Najnowszą pozycją Xcode w kanale jest release candidate z 19 października, 27B48, którego uwagi nadal mają tytuł wersji RC. App Store Connect przyjmuje jego buildy od 20 października.138
Czy zmianę zerowych marginesów udało się odtworzyć?
Tak, z warunkiem, którego wpis nie podaje. Zbudowana z SDK 27.1 sonda podaje zerowe marginesy dla gołego UIView w środowisku uruchomieniowym iOS 27.1 na symulatorze iPhone Duo; ten sam kod oznaczony dla SDK 27.0 podaje tam 8 punktów, a oba buildy podają 8 w iOS 18.5 i w środowisku pierwszej bety iOS 27.2. Zmiana wymaga jednocześnie urządzenia z 27.1 i pliku binarnego zlinkowanego z 27.1 lub nowszym. Symulator to nie telefon, a środowisko uruchomieniowe wersji finalnej 27.2 nie jest zainstalowane na tym Macu.4
Gdzie są uwagi do wydania iOS 27.2?
W dokumentacji Apple dla deweloperów, w sekcji iOS & iPadOS Release Notes, na stronie, na której były bety, teraz zatytułowanej „iOS & iPadOS 27.2 Release Notes” i uporządkowanej według obszarów, z New Features, Resolved Issues i Known Issues pod każdym z nich. Liczby w tym wpisie pochodzą z tej strony w postaci pobranej 26 października 2026 roku.2
Źródła
-
Apple, Releases, kanał RSS pobrany 26 października 2026 roku o 16:12 czasu pacyficznego (23:12 UTC), 43 pozycje sięgające 11 maja 2026: „iOS 27.2 (24B91020)”, „iOS 27.2 (24B119)”, „iPadOS 27.2 (24B119)”, „macOS 27.2 (26B123)”, „tvOS 27.2 (24K122)”, „visionOS 27.2 (24N120)”, „watchOS 27.2 (24S118)”, „iPadOS 26.7.2 (23H128)”, „iOS 18.7.11 (22H384)” i „iPadOS 18.7.11 (22H384)”, wszystkie z datą Mon, 26 Oct 2026 10:00:00 PDT i identyfikatorami pozycji od
10262026ado10262026jw tej kolejności; „TestFlight 4.4.1” z datą Thu, 22 Oct 2026 14:00:00 PDT; „App Store Connect Update” z datą Tue, 20 Oct 2026 16:00:00 PDT; „Xcode 27.2 RC (27B48)” z datą Mon, 19 Oct 2026 10:00:00 PDT i identyfikatorem10192026g; „Xcode 27.1 (27A9275)” z datą Thu, 15 Oct 2026 13:00:00 PDT. Żaden tytuł pozycji w kanale nie zawiera „27.1” poza dwiema pozycjami Xcode 27.1 i żadna pozycja nie jest wersją RC iOS 27.2. Strona pierwszej pozycji, iOS 27.2 (24B91020), pobrana w tej samej godzinie, zawiera tytuł, „View downloads” i „View release notes” i nie wymienia żadnego urządzenia. Wcześniejsza kopia tego samego kanału, zapisana o 11:28 czasu pacyficznego 26 października przez opisany niżej skrypt odpytujący, zawiera „iOS 27.2 RC (24B115)”, „iPadOS 27.2 RC (24B115)”, „macOS 27.2 RC (26B118)”, „tvOS 27.2 RC (24K120)”, „visionOS 27.2 RC (24N118)” i „watchOS 27.2 RC (24S116)” z datą Mon, 19 Oct 2026 i identyfikatorami od10192026ado10192026f, z których żadnego nie ma w kopii z 16:12. Skrypt pobierał kanał co dziesięć minut od 22:26 czasu pacyficznego 15 października do 12:08 czasu pacyficznego 26 października, 1403 odczyty, z których 1383 zwróciły kanał, a 20 nie zdołało go pobrać, i sprawdzał w każdej kopii tytuł zaczynający się od „iOS 27.1 (”; jego dziennik nie odnotowuje żadnego trafienia. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, iOS & iPadOS 27.2 Release Notes, pobrane przez endpoint JSON dokumentacji 26 października 2026 roku o 16:12 czasu pacyficznego, serwowane z nagłówkiem Last-Modified Mon, 26 Oct 2026 14:18:44 GMT: Overview, zacytowany; App Tracking Transparency, New Features (179504171) i Resolved Issues (187149729, 187610745); Health, Known Issues (186964423, 188843443); Nearby Interaction, Known Issues (189664070) z obejściem; Quest Lab Appointments, Known Issues (184530996) z obejściem; Shortcuts, Known Issues (187499433); Simulator, Known Issues (188407822, FB24939277) z obejściem; StoreKit Testing in Xcode, Resolved Issues (183933307 z FB24137836, 184155259, 184255116) i Known Issues (186018916); UIKit, New Features (186294594); wszystkie zacytowane. Liczby to elementy list pod nagłówkami każdego obszaru, bez obejść: 8 obszarów, 2 New Features, 5 Resolved Issues, 7 Known Issues, brak nagłówka Deprecations. W porównaniu z kopią bety 4 z 14 października odnotowaną we wpisie o becie 27.2: 188843443 i 189664070 są nowe, nagłówek „Simulator Runtimes” brzmi teraz „Simulator”, 186964423 mówi „might not generate” tam, gdzie strony bet mówiły „may not generate”, a 187610745 nazywa stare API
requestTrackingAuthorizationPreferExpandedInterface:...tam, gdzie strony bety 3 i bety 4 nazywały jerequestTrackingAuthorization(preferExpandedInterface:...). Indeks iOS & iPadOS Release Notes, pobrany w tej samej godzinie, wymienia „iOS & iPadOS 27 Release Notes” i „iOS & iPadOS 27.2 Release Notes” jako jedyne pozycje dla 27, a endpoint JSON strony 27.1 zwrócił 404 o 16:12 czasu pacyficznego. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, App Store Connect release notes, pobrane 26 października 2026 roku: 20 października 2026, „App Store Connect update”, zacytowany w całości w tabeli; 22 października 2026, „TestFlight update”: „TestFlight 4.4.1 is now available on the App Store for iPhone and iPad. This update includes: Support for iPhone Duo. Stability improvements and bug fixes.”; 15 października 2026, „App Store Connect updates”: „You can now upload apps built with Xcode 27.1 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.” Najnowszy wpis na stronie pochodzi z 22 października. ↩↩↩↩↩↩↩
-
Reprodukcja autora na Macu z macOS 27.0 (26A428) i wybranym Xcode 27.1 (27A9275), 26 października 2026 roku. Buildy:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/CoreServices/SystemVersion.plisti plist SDK iPhoneSimulator podają obaProductVersion27.1 iProductBuildVersion24A94232 (24A94403 z wrześniowej bety jest odnotowane we wpisie o symulatorze); beta Xcode 27.2 (27B5019j) podaje SDK iPhoneOS 27.2 (24B5084k);xcrun simctl list runtimeswypisuje „iOS 27.1 (27.1 - 24A94425)” i „iOS 27.2 (27.2 - 24B5084k)” obok iOS od 18.0 do 18.5;xcrun simctl list runtimes -jwymienia jedną pozycję wsupportedDeviceTypesdla środowiska 27.1, „iPhone Duo”, i 62 dla środowiska 27.2;xcrun simctl createdla iPhone 16 Pro nacom.apple.CoreSimulator.SimRuntime.iOS-27-1zakończyło się błędem „Incompatible device” (SimError 403). Sonda: 34-wierszowy plik Swift importujący UIKit, który wypisujelayoutMarginsidirectionalLayoutMarginswidokuUIViewo wymiarach 300 na 300 punktów, jegopreservesSuperviewLayoutMargins, marginesy podwidoku 100 na 100 w punkcie początkowym przed ustawieniempreservesSuperviewLayoutMargins = truei po nim, przy marginesach nadwidoku ustawionych na 20, marginesy isystemMinimumLayoutMarginswidokuUIViewControllerprzed zainstalowaniem go jako korzenia oknaUIWindowo wymiarach 393 na 852 punkty i po nim,safeAreaInsetstego widoku w oknie oraz marginesy dziecka tego widoku przedpreservesSuperviewLayoutMargins = truei po nim. Skompilowana dwukrotnie z tego samego pliku w Xcode 27.1 (27A9275): raz jakoxcrun swiftc -O -target arm64-apple-ios18.0-simulator -sdk <iPhoneSimulator27.1.sdk> MarginsProbe.swiftz nieustawionymSDKROOT, co wypisujeclang: warning: using sysroot for 'macOS 27.0'i daje plik, któregootool -lpokazujeLC_BUILD_VERSIONzminos 18.0isdk 27.0; raz tym samym poleceniem zSDKROOTwyeksportowanym na to SDK, co dajeLC_BUILD_VERSIONzminos 18.0isdk 27.1. Oba pliki binarne uruchomiono bez zmian przezxcrun simctl spawnna trzech symulatorach utworzonych w tym celu i potem usuniętych: iPhone 16 Pro z iOS 18.5 (22F77), iPhone 16 Pro z iOS 27.2 (24B5084k) i iPhone Duo z iOS 27.1 (24A94425). W iOS 18.5 i iOS 27.2 oba buildy wypisałyUIView.layoutMargins=(8.0, 8.0, 8.0, 8.0) directional=(8.0, 8.0, 8.0, 8.0) preservesSuperview=false,subview.layoutMargins=(8.0, 8.0, 8.0, 8.0),subview(preserves=true, parent=20).layoutMargins=(20.0, 20.0, 8.0, 8.0),vc.view.layoutMargins(no window)=(0.0, 0.0, 0.0, 0.0) systemMinimum=(0.0, 0.0, 0.0, 0.0),vc.view.layoutMargins(in window)=(62.0, 16.0, 12.0, 16.0) systemMinimum=(0.0, 16.0, 0.0, 16.0) safeArea=(62.0, 0.0, 12.0, 0.0),child of vc.view (preserves=false).layoutMargins=(8.0, 8.0, 8.0, 8.0)ichild of vc.view (preserves=true).layoutMargins=(8.0, 16.0, 8.0, 16.0). W iOS 27.1 buildsdk 27.0wypisał te same wiersze z wyjątkiemvc.view.layoutMargins(in window)=(0.0, 16.0, 34.0, 16.0) systemMinimum=(0.0, 16.0, 0.0, 16.0) safeArea=(0.0, 0.0, 34.0, 0.0); buildsdk 27.1wypisałUIView.layoutMargins=(0.0, 0.0, 0.0, 0.0) directional=(0.0, 0.0, 0.0, 0.0) preservesSuperview=false,subview.layoutMargins=(0.0, 0.0, 0.0, 0.0),subview(preserves=true, parent=20).layoutMargins=(20.0, 20.0, 0.0, 0.0), te same dwa wierszevc.viewco drugi build w tym środowisku,child of vc.view (preserves=false).layoutMargins=(0.0, 0.0, 0.0, 0.0)ichild of vc.view (preserves=true).layoutMargins=(0.0, 16.0, 0.0, 16.0). Zbudowana wyłącznie z nieustawionymSDKROOTsonda daje wynikisdk 27.0we wszystkich trzech środowiskach. Trzeci build, zDEVELOPER_DIRwskazującym betę Xcode 27.2 (27B5019j) iSDKROOTwyeksportowanym na jej SDK iPhoneSimulator 27.2 (otool -l:minos 18.0,sdk 27.2), wypisał te same zerowe wiersze co buildsdk 27.1w środowisku iOS 27.1 i te same 8-punktowe wiersze co pozostałe buildy w środowisku bety iOS 27.2. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple Support, „Apple security releases”, pobrana 26 października 2026 roku: wiersze „iOS 27.2 and iPadOS 27.2”, „iOS 26.7.2 and iPadOS 26.7.2”, „iOS 18.7.11 and iPadOS 18.7.11”, „macOS Golden Gate 27.2”, „macOS Tahoe 26.7.2”, „macOS Sequoia 15.8.2”, „tvOS 27.2”, „watchOS 27.2”, „visionOS 27.2”, „Safari 27.2” („macOS Sequoia and macOS Tahoe”) i „tvOS 26.6.1”, wszystkie „26 Oct 2026”; oraz wiersz „iOS 27.1”, „This update has no published CVE entries.”, „iPhone Duo”, „23 Oct 2026”, bez linku; inne wiersze wymieniające jeden produkt, każdy z „This update has no published CVE entries.”: „macOS Tahoe 26.3.2”, „MacBook Neo”, „10 Mar 2026”; „watchOS 27.0.1”, „Apple Watch Series 12 and Apple Watch Ultra 4”, „23 Sep 2026”; „watchOS 26.0.1”, „Apple Watch Ultra 3”, „18 Sep 2025”; „tvOS 18.3.1”, „Apple TV 4K (3rd generation)”, „11 Mar 2025”. Apple Support, „About the security content of iOS 27.2 and iPadOS 27.2”, „Released October 26, 2026”, pobrana tego samego dnia: 162 różne identyfikatory CVE-2026 i CVE-2022-26704, 67 nagłówków komponentów, policzone skryptem na podstawie HTML strony; WebKit 26, Kernel 15, ImageIO 11, AVEVideoEncoder 6, Model I/O 6; zdanie „Available for” zacytowane; zero wystąpień „exploited” i „actively”. Apple Support, „About the security content of iOS 26.7.2 and iPadOS 26.7.2”: 133 identyfikatory CVE-2026 i CVE-2019-5598. Apple Support, macOS Golden Gate 27.2: 262 identyfikatory CVE-2026 i CVE-2022-26704. Apple Support, Safari 27.2: 33 identyfikatory CVE-2026. Wszystkie cztery strony „Released October 26, 2026”. ↩↩↩↩↩↩↩↩↩
-
Apple Newsroom, „iPhone Duo arrives at Apple Store locations worldwide”, zdjęcia, 23 października 2026, pobrane 26 października: „On Friday, October 23, the highly anticipated iPhone Duo made its debut at Apple Store locations worldwide.” Apple Newsroom, „Developers bring incredible new app experiences to iPhone Duo”, 22 października 2026, pobrane 26 października: „Starting this Friday, iPhone Duo users can discover amazing apps and games optimized for the first foldable iPhone.” oraz „Developers can easily adapt their apps for iPhone Duo using new and updated APIs in the iOS 27.1 SDK.” Archiwum Newsroom, pobrane tego samego dnia, wymienia te dwie pozycje, „Siri AI is available in more languages starting today” i „Apple gives iPad mini its biggest update ever” (26 października), i żadnej pozycji o samym iOS 27.2. ↩↩
-
Apple Support, „About iOS 27 Updates”, pobrana 26 października 2026 roku, opublikowana 26 października 2026 roku: sekcje „iOS 27.2”, „iOS 27.0.1” i „iOS 27”, brak sekcji 27.1, brak wzmianki o iPhone Duo i o Health w sekcji 27.2. Początek sekcji iOS 27.2: „This update provides enhancements to Siri AI with the ability to retain useful context from previous Siri interactions as well as draw from a wider range of personal context. It also introduces Suggestions in Messages that help you take quick actions in apps like Calendar and Reminders based on context from your conversation. This release includes additional features, bug fixes, and security updates for your iPhone.” Inne zacytowane punkty: „Support for SynthID watermarking to help identify whether an image was generated or modified with generative tools in Photos and Image Playground” i „FaceTime supports adding a third party sign language interpreter or live captioner to a call”; także „Siri AI is not available in the EU or mainland China.” ↩↩↩↩↩
-
Apple, Xcode 27.2 RC Release Notes, pobrane przez endpoint JSON dokumentacji 26 października 2026 roku, serwowane z nagłówkiem Last-Modified Mon, 19 Oct 2026 04:56:10 GMT: Overview, zacytowany; Coding Assistant, New Features (181141715); Device Hub, New Features (189236369), Resolved Issues (177181719, 182553164, 182695157 z FB23873443, 187484157, 188313956, 188326513), Known Issues (187146039, 187148389, 189261485 z FB25077755, 189465196 z obejściem); Instruments, Resolved Issues (168530263); Interface Builder, Resolved Issues (186354589 z FB24605403, 187747632 z FB24829108); Mac Catalyst, Known Issues (185924957) z obejściem; Memory Gauge, Resolved Issues (187611943); Previews, Resolved Issues (183475595, 184564292, 185436582, 186255376, 186442676); Project Format, New Features (184661114); SDK, Known Issues (187160501); Simulator, Resolved Issues (141290052 z FB16083602, 187950199, 190126101, 190155353) i Known Issues (179494052 z FB23101450, 188407822 z FB24939277); XCTest UI Automation, Resolved Issues (188422137); wpisy zacytowane tam, gdzie to zaznaczono. ↩↩↩↩↩
-
Apple, macOS 27.2 Golden Gate Release Notes, pobrane przez endpoint JSON dokumentacji 26 października 2026 roku, serwowane z nagłówkiem Last-Modified Mon, 26 Oct 2026 14:18:48 GMT: Overview, „The macOS 27.2 SDK provides support to develop apps for Mac computers running macOS 27.2 Golden Gate. The SDK comes bundled with Xcode 27.2.”; General, Resolved Issues (186939138); AppKit, Deprecations (186955507); Display Settings, Known Issues (188643179); Notifications, Known Issues (187312007) z obejściem; Shortcuts, Known Issues (187499433); StoreKit Testing in Xcode, Resolved Issues (183933307 z FB24137836, 184155259, 184255116) i Known Issues (186018916); zacytowane. Liczby według elementów list: 6 obszarów, 4 Resolved Issues, 1 Deprecation, 4 Known Issues. ↩
-
Apple, requestTrackingAuthorization(preferExpandedInterface:additionalInformationAction:completionHandler:), pobrana przez endpoint JSON dokumentacji 26 października 2026 roku: dostępność iOS 27.2, iPadOS 27.2 i Mac Catalyst 27.2 bez oznaczenia beta; deklaracje
class func requestTrackingAuthorization(preferExpandedInterface: Bool, additionalInformationAction: (() -> Void)?, completionHandler completion: @escaping @Sendable (ATTrackingManager.AuthorizationStatus) -> Void)iclass func requestTrackingAuthorization(preferExpandedInterface: Bool, additionalInformationAction: (() -> Void)?) async -> ATTrackingManager.AuthorizationStatus. Strona ATTrackingManager, pobrana w tej samej godzinie, wymienia tę metodę irequestTrackingAuthorization(completionHandler:)i żadnej innej metody żądania; endpoint JSON nazwy z pierwszej bety,requesttrackingauthorization(usingexpandedinterface:additionalinformationaction:completionhandler:), zwrócił 404.AppTrackingTransparency.framework/Headers/ATTrackingManager.hw SDK iPhoneOS 27.2 (24B5084k) z bety Xcode 27.2 (27B5019j), odczytany 26 października 2026 roku, deklaruje+ (void)requestTrackingAuthorizationUsingExpandedInterface:(BOOL)preferExpandedInterface additionalInformationAction:… completionHandler:…zAPI_AVAILABLE(ios(27.2)) API_UNAVAILABLE(macos, tvos, watchos, visionos); ten sam nagłówek w SDK iOS 27.1 z Xcode 27.1 deklaruje tylkorequestTrackingAuthorizationWithCompletionHandler:. Xcode 27.2 RC nie jest zainstalowany na tym Macu, więc nie odczytano żadnego nagłówka deklarującego przemianowaną metodę. Zdanie o pięciu krajach dotyczącerequestTrackingAuthorization(completionHandler:)pochodzi ze strony referencyjnej Apple dla tej metody w brzmieniu zacytowanym we wpisie o monicie śledzenia w UE. ↩↩↩↩↩↩ -
Doniesienia prasowe, nie słowo Apple, każde przeczytane 26 października 2026 roku: 9to5Mac, „iOS 27.1 is exclusive to iPhone Duo, here’s why”, 23 października 2026; 9to5Mac, „iPhone Duo just got two new features in iOS 27.2”, 26 października 2026, wymieniający obsługę Apple Pencil (USB-C) i Edge Light; tbreak, „iPhone Duo day one iOS 27.1 update”, 14 października 2026, powołujący się na MacRumors: „the foldable ships with iOS 27.1 build 24A94232, while Apple has since released build 24A94425”; MacTech, „iPhone Duo buyers will have a day-one software update to install”, 13 października 2026: „The iPhone Duo ships with iOS 27.1, a version of iOS 27 exclusive to the foldable device.” oraz „Apple yesterday released a new build of iOS 27.1 (24A94425)”. Numery w tekście to te, które podają SDK i środowisko uruchomieniowe na tym Macu; artykuły prasowe są cytowane ze względu na powiązanie tych numerów z buildem, z którym telefon trafia do sprzedaży, i z jego aktualizacją z pierwszego dnia, czego Apple nie opublikowało. ↩↩↩↩