Wypuszczono iOS 10 beta 4 – NOWOŚCI x5

iOS beta 10 4 została wypuszczona zaledwie kilka chwil temu przez firmę Apple, ta wersja systemu operacyjnego jest oferowana twórcom aplikacji na platformę iOS w odstępie dwóch tygodni od poprzedniej, dzięki czemu Apple utrzymuje standardowy kurs wydawania aktualizacji dla iOS.

Biorąc pod uwagę, że mówimy o aktualizacji wydanej za pośrednictwem systemu Software Update, programiści lub użytkownicy, którzy zainstalowali poprzednią wersję, mogą również zainstalować nową za pomocą aplikacji Ustawienia, Konfiguracje, więc nie musisz pobierać żadnego ipsw, ale jeśli masz publiczną wersję beta, będziesz musiał poczekać.

W poprzedniej wersji A iOS 10, firma Apple wprowadziła wiele zmian w swoim systemie operacyjnym, więc możemy spodziewać się, że już teraz czekają nas miłe niespodzianki, oraz w tym artykule szczegółowo opiszę wszystkie wiadomości jakie przygotowali dla nas ci z Cupertino.

Wiadomości o iOS 10 beta 4

Na razie lista zmian nie została opublikowana przez firmę Apple iOS beta 10 4, ale jestem pewien, że w ciągu kilkudziesięciu minut będziemy go mieli i dowiemy się również, jakie zmiany wewnętrzne są oferowane, te z Cupertino głównie rozwiązujące błędy i poprawiające wydajność.

Oto, jakie wiadomości zawiera iOS beta 10 4 :

  1. iOS 10 ma teraz stronę z informacjami o funkcjach, jakie oferuje Control Center.
  2. Seria tapet została usunięta przez firmę Apple, a dla zainteresowanych dostępna jest standardowa z iOS 8.
  3. Aplikacja Zdrowie posiada nieco zmodyfikowany interfejs umożliwiający przeglądanie polecanych klipów wideo.
  4. Animacje otwierania folderów są szybsze.
  5. Zaimplementowano nowe znaki emoji.
  6. Usunięto wibracje powstające podczas blokowania zacisków.

Aktualizacja: wydano watchOS 3.0 beta 4 i tvOS 10 beta 4.

UPDATE 2: wydano także macOS Sierra beta 4.

Funkcjonalność niedostępna w iOS 10 beta 4
• Twarze w aplikacji Zdjęcia nie synchronizują się na Twoich urządzeniach.
• Funkcjonalność wymagająca przyjęcia z aplikacji App Store, takich jak aplikacje iMessage, SiriKit i
Rozszerzenia Map nie będą dostępne, dopóki te aplikacje nie zostaną zaadoptowane i przesłane do Sklepu.
Naprawiono w tej wersji
CarPlay
Aplikacje audio w CarPlay nie wyświetlają już czarnego ekranu.
FaceTime
Uaktualnienie połączenia audio do połączenia wideo FaceTime spowoduje teraz przekierowanie dźwięku do wbudowanego głośnika.
Muzyka
• Kliknięcie nazwy w obszarze Teraz odtwarzane powoduje przejście do strony albumu.
• Aplikacja muzyczna będzie teraz pamiętać, gdzie byłeś i co grało, jeśli aplikacja została wymuszona.
• Muzyka w CarPlay będzie teraz aktualizować bieżący utwór podczas słuchania stacji radiowych Apple Music.
Telefon
Funkcja przekazywania połączeń do iPhone'a z dodatkowego urządzenia, takiego jak Mac lub iPad, działa teraz zgodnie z oczekiwaniami.
ZDJĘCIA
Miniatury zrzutów ekranu zrobionych na iPadzie Pro 9.7 cala nie będą już wyświetlane w odwróconych kolorach.
Siri
• Siri będzie teraz wykonywać połączenia alarmowe, gdy zostanie o to poproszony.
• W przypadku korzystania z głosów Siri w języku angielskim (USA) będą teraz odczytywane numery domów na początku fraz
prawidłowo.
Portfel
Na kartach w Portfelu nie będą już wyświetlane artefakty graficzne.
widgety
Widżety będą teraz działać w Symulatorze przy kolejnych instalacjach.
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 4 z 13
Uwagi i znane problemy
Akcesoria
Znana kwestia
Urządzenia mogą wpaść w panikę podczas korzystania z inteligentnego etui z baterią iPhone'a 6s.
App Store
Podczas testowania zakupów w aplikacji w piaskownicy pierwsze okno dialogowe uwierzytelniania może pojawić się dwukrotnie.
Rozwiązanie: Wypełnij każde okno dialogowe uwierzytelniania.
apple TV
Kontynuowanie konfiguracji Apple TV za pomocą funkcji Dotknij, aby skonfigurować na urządzeniu z systemem iOS może być niemożliwe
poza ekranem Połączono z siecią.
Rozwiązanie: Naciśnij przycisk Menu, aby wrócić, a następnie ponownie przejdź przez proces konfiguracji.
Fundacja AV
Note
W iOS 10 beta 3 nazwy opcjonalnych metod AVCapturePhotoCaptureDelegate
didFinishProcessingPhoto i didFinishProcessingRawPhoto zostały zmienione na
didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:rozwiązaneUstawienie
s:bracketSettings:error: i
didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:rozwiązaneUstawienie
s:bracketSettings:error:, odpowiednio. Kod, który używa poprzednich nazw (takich jak WWDC
wersja przykładowego projektu AVCamManual) będzie nadal się kompilować, ale starsze delegaty wywołają zwroty
nie wykona.
Kompatybilność binarna
• Apple rezerwuje dwuliterowe przedrostki do użytku w klasach frameworka. Nazywając własne klasy,
użyj trzyliterowego przedrostka. Z wytycznymi można zapoznać się tutaj:
https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/
ProgrammingWithObjectiveC/Conventions/Conventions.html
Niezastosowanie się do tych wskazówek może spowodować awarię aplikacji podczas wydawania oprogramowania w wersji beta.
• Podczas ponownej kompilacji w systemie iOS 10.0 wywołanie [NSObject valueForKey:] z klawiszem zerowym powoduje wyświetlenie błędu
wyjątek. Wcześniej prowadziło to do niezdefiniowanego zachowania; teraz powoduje to awarię aplikacji.
• Odwoływanie się do czcionki systemowej według nazwy w wywołaniu +[UIFontfontWithName:size:] powoduje
rozbić się. Więcej informacji można znaleźć na stronie https://developer.apple.com/videos/play/wwdc2015/804/
• Aby poprawić prywatność klientów, adresy URL https://, NSURLSession i NSURLConnection no
dłużej obsługuje zestawy szyfrów RC4 podczas uzgadniania TLS. Dotknięte aplikacje i usługi powinny
zmodernizuj serwery internetowe, aby korzystały z bardziej nowoczesnych zestawów szyfrów.
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 5 z 13
• Aplikacje mogą się zawiesić, jeśli zmienią geometrię podglądu w viewWillLayoutSubviews lub
układPodglądy.
• NSURLConnection nie zezwala na połączenia korzystające z protokołu TLS w wersji starszej niż protokół
wersja określona przez politykę ATS poprzez NSExceptionMinimumTLSVersion lub
Klucze NSThirdPartyExceptionMinimumTLSVersion. Dotknięte aplikacje i usługi powinny
uaktualnij serwery internetowe, aby korzystały z nowszych wersji protokołu TLS.
• Aplikacje innych firm mogą nie być w stanie odtwarzać muzyki, jeśli aplikacja Muzyka została usunięta.
Rozwiązanie: Przywróć aplikację Muzyka ze sklepu App Store.
Bluetooth
Niektórzy klienci korzystają z aparatów słuchowych wykorzystujących technologię Bluetooth Low Energy z podłączonym także telefonem iPhone
do Apple Watch może czasami powodować przerwy lub przeskakiwania dźwięku.
CarPlay
• Podczas połączenia z CarPlay mogą wystąpić rozłączenia.
• Dźwięk Siri może zostać przerwany podczas czytania Wiadomości.
Protokół HTTP CFNetwork
Klasa NSMutableURLRequest wymaga, aby właściwość HTTPBodyStream była nieotwarta
stream, a klasy NSURLConnection i NSURLSession teraz ściśle wymuszają to nieotwarte
wymagania dotyczące strumienia. Aplikacje, których to dotyczy, powinny upewnić się, że żaden dostarczony strumień NSInputStream jeszcze nie został udostępniony
został otwarty.
CloudKit
Podczas wielokrotnego budowania i uruchamiania z Xcode długotrwałe operacje mogą zakończyć się niepowodzeniem z komunikatem „Nie masz
pozwolenie na zapisanie pliku”, ponieważ ścieżka kontenera zmienia się wielokrotnie.
FaceTime
Połączenia FaceTime między tą wersją beta a starszymi wersjami beta systemów iOS i macOS nie są obsługiwane. Zaktualizuj swój
Mac i iPhone do najnowszej wersji.
HomeKit
Dodanie akcesoriów WAC HomeKit za pomocą aplikacji Home może się nie powieść, jeśli dane uwierzytelniające sieci nie zostaną podane jako pierwsze
można uzyskać za pomocą opcji Ustawienia > Wi-Fi > Skonfiguruj nowe urządzenie.
Rozwiązanie: Jeśli dodanie takiego akcesorium HomeKit nie powiedzie się, podaj dane uwierzytelniające sieci, korzystając z opcji Ustawienia >
Wi-Fi > Skonfiguruj nowe urządzenie. Po przyłączeniu akcesorium do sieci można je dodać
za pomocą aplikacji Dom.
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 6 z 13
bibliotekadispatch
Libdispatch sprawdza, czy wykryto zawieszenie z powodu zakleszczenia w shipping_barrier_sync.
Wiadomości
• Gdy w rozszerzeniach Wiadomości używane są UISearchController i UITableViewController,
ich zawartość można ukryć pod górnym paskiem.
Rozwiązanie: użyj wstawek o wielkości około 80 pikseli na górze i 40 pikseli na dole.
• Tylko w symulatorze, gdy zlokalizowany jest opis zmiany w wiadomości wstawianej:
localizedChangeDescription:completionHandler: metoda jest ustawiona na
$localParticipantIdentifier.UUIDString, plik
$localParticipantIdentifier.UUIDString nie jest zastępowany identyfikatorem Messages ID użytkownika,
a UUIDString jest drukowany w niezmienionej postaci.
• Kiedy aplikacja Wiadomości w Symulatorze zostanie wymuszona, historia wiadomości zostanie utracona.
• Kiedy obiekt UIAlertController jest prezentowany w rozszerzeniu Messages, jest on obcinany przez
dolny pasek rozszerzenia.
• Jeśli podczas dokonywania zakupu w aplikacji lub próby zakupu zawartości wyświetli się okno dialogowe logowania
ze sklepu lub sklep lub rozszerzenie zostanie odrzucone.
• Podpowiedzi wyszukiwania w iOS 10 beta 2 nadal wyświetlają podpowiedzi z iTunes Store, ale wyszukiwanie wróciło
wyniki dotyczą sklepu z wiadomościami.
• Podczas uruchamiania rozszerzenia aplikacji iMessage z symulatora iOS rozszerzenie aplikacji może być puste
i przestań reagować na wprowadzanie dotykowe.
• W przypadku korzystania z klawiatury sprzętowej wprowadzenie tekstu we wtyczce do tworzenia ankiet może nie być możliwe.
Rozwiązanie: użyj klawiatury ekranowej.
• UUID uczestnika lokalnego jest taki sam dla obu uczestników rozmowy tylko w symulatorze.
Rozwiązanie: Użyj urządzenia, aby przetestować porównania UUID.
• Miniatury zdjęć w Wiadomościach mogą być rysowane z nieprawidłowym powiększeniem, co powoduje szare wypełnienie
otaczające obrazy.
• Podczas czytania wiadomości Siri nie opisuje dokładnie nowych typów wiadomości ani funkcji.
Zarządzanie urządzenia mobilne
Począwszy od systemu iOS 10, ładunki SCEP nie mają już domyślnej wartości MD5, jeśli serwer SCEP nie zwróci komunikatu CACaps lub
nie zastrzega sobie możliwości obsługi SHA-1, SHA-256 lub SHA-512 w CACaps.
Jeśli serwer SCEP nie odpowie na GetCACaps, zostanie przyjęty SHA-1 i użyty do próby SCEP.
Jeśli serwery SCEP odpowiedzą na GetCACaps, serwer musi zauważyć, że mają SHA-1, SHA-256 lub
Funkcja SHA-512 lub żądanie rejestracji SCEP nie powiodło się z powodu niewystarczających możliwości.
Więcej informacji można znaleźć w sesji WWDC 2016 Co nowego w zarządzaniu urządzeniami Apple.
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 7 z 13
Muzyka
Uwagi na temat Apple Music w iOS 10 beta 4:
• Ostatnio grane w For You może nie zostać odświeżone natychmiast.
• MPMediaPickerController może nie być wyświetlany zgodnie z oczekiwaniami.
• Usunięcie Apple Music może uniemożliwić niektórym akcesoriom odtwarzanie audiobooków, podcastów i
umiera. Pobierz Apple Music ze sklepu App Store, aby przywrócić odtwarzanie.
• Widżet muzyczny „dzisiaj” może nie wyświetlać całej ostatnio odtwarzanej muzyki.
Po podłączeniu do samochodu niektóre funkcje mogą nie działać zgodnie z oczekiwaniami:
• Funkcja Edit Up Next może nieoczekiwanie przerwać odtwarzanie.
• Podczas korzystania z CarPlay funkcja Wyświetl wszystkie stacje nie wyświetla jeszcze wszystkich stacji.
Uwagi
Notatki mogą zostać nieoczekiwanie zakończone.
Rozwiązanie: wyłącz i włącz Notatki, wybierając Ustawienia > Ogólne > iCloud.
Aktywność NSUser
Obiekt NSUserActivity po przekazaniu może nie zawierać żadnych informacji o użytkowniku.
Obejście: jawnie wywołaj metodę beCurrent na obiekcie działania.
Wydajność
Na niektórych urządzeniach mogą wystąpić problemy z wydajnością, takie jak zawieszanie się i spadanie klatek.
Telefon
• Transkrypcja poczty głosowej (beta) jest dostępna na iPhone'ach 6s, iPhone'ach 6s Plus i iPhone'ach SE z Siri
język ustawiony na angielski (Stany Zjednoczone).
• Po włączeniu głośnika podczas połączenia, kolejne połączenia będą domyślnie korzystać z głośnika.
Rozwiązanie: wyłącz głośnik podczas aktywnego połączenia.
• Podczas wykonywania wzajemnych połączeń alarmowych CS 911, interfejs użytkownika Dialera wyświetla „Połączenie pod numer 911” zamiast
„Połączenia alarmowe pod numer 911”.
ZDJĘCIA
• Dane twarzy zostaną ponownie przetworzone w systemie iOS 10 beta 4, w wyniku czego dowolna twarz zostanie nazwana, dodana do ulubionych lub scalona
resetowanie danych.
• Synchronizacja osób nie jest włączona za pośrednictwem biblioteki zdjęć iCloud w systemie iOS 10.
• Wspomnienia, Powiązane, Ludzie i Sceny nie są obsługiwane na urządzeniach 32-bitowych.
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 8 z 13
Safari
• WebGeolokalizacja wymaga teraz bezpiecznej witryny internetowej (HTTPS) do działania zarówno w systemie iOS, jak i macOS
zapobiegać złośliwemu wykorzystaniu danych o lokalizacji.
• WKWebView teraz domyślnie akceptuje wartość skalowalną przez użytkownika=nie z rzutni. Klienci WKWebView
może poprawić dostępność i pozwolić użytkownikom na powiększanie wszystkich stron przez uszczypnięcie, ustawiając opcję
WKWebViewConfiguration ignoruje ViewportScaleLimits na TAK.
• Konfiguracja SFSafariViewControllerConfiguration i -[SFSafariViewController
initWithURL:configuration:] Usunięto interfejsy API oraz –
[SFSafariViewController initWithURL:entersReaderIfAvailable:] już nie istnieje
oznaczone jako przestarzałe. Właściwość preferowanyBarTintColor została przeniesiona do
SFSafariViewController wraz z nową właściwością preferowanąControlTintColor
których klienci powinni używać zamiast ustawiać tintColor bezpośrednio w widoku. Aplikacje połączone na iOS
10 lub nowsze nie będą już przesyłać koloru odcienia widoku do kontrolera SFSafariViewController.
Ustawienia
W Ustawieniach > Dane komórkowe ustawienia poszczególnych aplikacji mogą nie zostać zachowane po włączeniu/wyłączeniu.
Siri
Siri może nie zapewnić pożądanej odpowiedzi, gdy żądanie wymaga usunięcia aplikacji.
SiriKit
• Właściwość identyfikatora w INIntent nie może zmieniać się pomiędzy żądaniami Siri.
• wynik rozdzielczości NeedMoreDetails(for:) obecnie nie działa.
Swift Playgrounds
Swift Playgrounds to zupełnie nowa aplikacja zaprojektowana, aby pomóc ludziom nauczyć się kodować w Swift 3.
Oferuje zawartość do pobrania, w tym część 1 „Naucz się kodować”, która uczy podstaw
kodowanie w języku Swift — i dodatkowe wyzwania, z którymi możesz się zmierzyć. Możesz także poeksperymentować samodzielnie
tworząc place zabaw na podstawie szablonów, stwórz pusty plac zabaw, lub
otwarte place zabaw stworzone w Xcode.
Aplikacja Swift Playgrounds jest dołączona do systemu iOS 10 beta 4.
Wersja beta 4 aplikacji Swift Playgrounds zawiera część 1. Naucz się kodować. Część 2. nauki kodowania będzie dostępna w późniejszych wersjach.
Uwagi
• Place zabaw, które nie są przechowywane w iCloud, nie są dostępne po aktualizacji do wersji produkcyjnej
wersja Swift Playgrounds. Aby zachować swoje place zabaw, włącz iCloud lub AirDrop, Wiadomość,
lub wyślij e-mailem do placów zabaw, aby uzyskać kopię zapasową na innym komputerze lub urządzeniu, zanim przejdziesz do końca
wypuścić Swift Playgrounds.
• Swift Playgrounds beta 4 korzysta z Swift 3 w wersji zapoznawczej 3 (swiftlang-800.0.34.6). Kod napisany przy użyciu
inne wersje Swift mogą nie działać w Swift Playgrounds beta 4.
• Place zabaw utworzone w wersji beta Swift Playgrounds od 1 do 3 nie działają poprawnie w Swift
Place zabaw w wersji beta 4. Podobnie place zabaw udostępnione w wersji Swift Playgrounds beta 4 nie są dostępne
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 9 z 13
działać poprawnie po uruchomieniu na Swift Playgrounds beta 1 do 3. To ograniczenie obejmuje
place zabaw w programie Naucz się kodować.
• Aplikacja Swift Playgrounds na iPadzie nie śledzi, czy rozszerzono wbudowany Szybki przegląd
dla wartości w edytorze. Na przykład, jeśli edytujesz plac zabaw Swift 3, który ma rozszerzony plik Quick
Spójrz, Szybkie przeglądy są zwijane podczas zapisywania.
• AVFoundation jest dostępny, ale przechwytywanie sygnału wejściowego nic nie zwraca.
Na przykład AVCapturePreviewLayer jest zawsze pustą przezroczystą warstwą.
• Struktura GameController jest dostępna i wydaje się, że pomyślnie łączy się z kontrolerami, ale
bloki obsługi przycisków nigdy nie są wywoływane.
UIKit
Uwagi
Przed wersją iOS 10 można było zastąpić [UIStackView initWithArrangedSubviews:],
ale miało to służyć jako wygodny inicjator i jako takie zostało zaimplementowane. Mamy teraz
wymusił to w nagłówkach. W rezultacie klienci Swift nie mogą już zastąpić tej metody, ponieważ
Reguły szybkiego inicjatora uniemożliwiają zastąpienie wygodnego inicjatora.
• W iOS 10 UIKit zaktualizował i ujednolicił zarządzanie w tle dla UINavigationBar,
UITabBar i UIToolbar. W szczególności zmiany właściwości tła tych widoków (takie jak
jako obrazy tła lub cienia lub ustawienie stylu paska) może rozpocząć przejście do układu paska
rozwiązać nowy wygląd tła.
W szczególności oznacza to próbę zmiany wyglądu tła tych pasków wewnątrz
z -[UIView układSubviews], -[UIView updateConstraints], -[UIViewController
willLayoutSubviews], -[UIViewController didLayoutSubviews], –
[UIViewController updateViewConstraints] lub dowolną inną wywoływaną metodę
odpowiedź na układ może skutkować pętlą układu.
W niektórych przypadkach można przerwać te pętle układu, upewniając się, że zawsze używasz tego samego obiektu
wystąpienie, gdy wymagane są obiekty (takie jak UIImage lub UIColor). Ale generalnie powinieneś
unikaj tego.
Ponieważ wszystkie parametry wyglądu są teraz rozstrzygane jednocześnie, w niektórych przypadkach może się to zdarzyć
wygląd Twojego paska uległ zmianie. Ogólnie rzecz biorąc, najlepsze wyniki uzyskuje się, określając tak mało
możliwość dostosowania swojego paska. Na przykład, jeśli określisz wartość barTintColor i
określenie pustego obiektu UIImage dla właściwości tłaImage (tak jak ma to miejsce w przypadku gdy
wywołujesz na przykład [UIImage new]), powinieneś uzyskać lepsze wyniki, określając tylko
barOdcieńKolor. Wszelkie zmiany wprowadzone w celu rozwiązania tych problemów w systemie iOS 10 również powinny działać
poprawnie w iOS 9 – jeśli tak nie jest, prosimy o zgłaszanie błędów za pomocą przykładowego projektu i a
zrzut ekranu pokazujący, jak powinny wyglądać paski.
• W systemie iOS 10 następuje niewielka zmiana zachowania UIGestureRecognizer podczas usuwania prądu
rozpoznawanie (to znaczy w trakcie lotu) modułu rozpoznawania gestów z jego UIView. Wcześniej usunięcie
rozpoznawanie gestów w trakcie lotu nie anulowałoby wyraźnie rozpoznawania gestów, umożliwiając ci to
ponownie dodaj moduł rozpoznawania gestów z powrotem do tego samego lub innego widoku. W iOS 10 dzwonienie –
[UIView RemoveGestureRecognizer:] w widoku modułu rozpoznawania gestów w locie
jawnie anuluje rozpoznawanie gestów. Jeśli użytkownik chce zmienić widok gestu w trakcie lotu
rozpoznawania, możesz po prostu wywołać -[UIView addGestureRecognizer:] w widoku, który chcesz
przesuń moduł rozpoznawania gestów na.
• Kontrolery widoku prezentowanego mogą teraz wpływać na wygląd paska stanu, nawet jeśli zostały zaprezentowane
z kontrolera widoku, który nie miał wpływu na pasek stanu (na przykład wyskakujące okienko). Domyślnie,
zakłada się, że niestandardowe prezentacje kontrolerów widoku nie wpływają na pasek stanu; Użyj
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 10 z 13
modalPresentationCapturesStatusBarAppearance na UIViewController do
pozwolić prezentowanemu kontrolerowi widoku na udział w wyglądzie paska stanu.
• Zawsze było wymaganie, aby podklasy UIViewController wywoływały super
implementacja -awakeFromNib z własnych zastąpień. Począwszy od iOS 10, –
wakeFromNib jest poprawnie oznaczony atrybutem NS_REQUIRES_SUPER do wykrycia
wdrożenia, które nie spełniają tego wymogu. Aby naprawić to ostrzeżenie, upewnij się, że wszystkie ścieżki kodu
twojego wywołania zastępującego [super wakeFromNib].
• Podczas pracy na iPadzie kolor tła dla UITableViewCell w scenorysie jest teraz ustawiony
szanowany.
• Począwszy od iOS 10, UITableViewHeaderFooterView obsługuje NSCoding, więc jeśli widok z tym
class znajduje się w XIB, teraz dekoduje poprawnie. W rezultacie aplikacje mogą wyświetlać dodatkowe informacje
zawartość tych widoków, która nie pojawiała się wcześniej z powodu naprawionego błędu.
• Do bardzo szerokich widoków tabel, w których marginesy układu komórek zostały automatycznie zwiększone
szerokość czytelną, wstawki separatorów są teraz interpretowane w odniesieniu do lewego i prawego marginesu
zamiast od krawędzi widoku tabeli.
• Znacznie poprawiono łączenie dostarczania UITouch, szczególnie w przypadkach, gdy
użytkownicy dotykaliby ekranu i jednocześnie używali Apple Pencil na iPadzie Pro i
aplikacja nie była w stanie ich przetworzyć z szybkością przychodzącą. W niektórych scenariuszach zdarzenia mogą nadal nastąpić
z większą częstotliwością niż odświeżanie wyświetlacza. Jest to oczekiwane i Twoja aplikacja powinna to przewidzieć
i postępować odpowiednio.
• W systemie iOS 10 okna, które nie są pełnoekranowe, nie wpływają na wygląd paska stanu.
• Nie oczekuje się, że wysłanie opcji -layoutIfNeeded do widoku spowoduje przeniesienie widoku, ale we wcześniejszych wersjach, jeśli
widok miał TranslationsAutoresizingMaskIntoConstraints == false i jeśli tak było
jest pozycjonowany przez ograniczenia, -layoutIfNeeded przesunie widok, aby dopasować go do układu
silnik przed wysłaniem układu do poddrzewa.
Zmiany te korygują to zachowanie, a pozycja odbiornika i zwykle jego rozmiar nie będą takie same
wpływ ma -layoutIfNeeded.
Niektóre istniejące kody mogą opierać się na tym nieprawidłowym zachowaniu, które zostało teraz poprawione. Nie ma
zmiana zachowania dla plików binarnych połączonych przed iOS 10, ale w przypadku budowania na iOS 10 może być konieczne
popraw niektóre sytuacje, wysyłając -layoutIfNeeded do nadzoru
TranslatorsAutoresizingMaskIntoConstraints == fałszywy widok, który był poprzedni
odbiornika lub ustawienie go i dopasowanie rozmiaru przed (lub po, w zależności od pożądanego zachowania) –
układW razie potrzeby.
• Aplikacje innych firm z niestandardowymi podklasami UIView korzystającymi z automatycznego układu, które zastępują
Widoki układu i brudny układ na sobie przed wywołaniem super mogą spowodować wyzwolenie układu
pętla zwrotna podczas ich odbudowy na iOS 10. Kiedy zostaną poprawnie przesłane później –
układuSubviews, muszą w pewnym momencie przestać brudzić sobie układ (zwróć uwagę, że
to połączenie zostało pominięte w wersji wcześniejszej niż iOS 10).
• Odwracalne obrazy działają w ten sposób, że w zasobie znajdują się dwa obrazy, każdy z inną cechą kierunkowości.
Kiedy tworzysz pochodny obiekt UIImage przy użyciu metod -imageWith…, już tak nie jest
powiązany z zasobem obrazu, z którego pochodzi. Aby utworzyć odwracalny obraz szablonu w czasie wykonywania, użyj
UIImageAsset.
• Źródłem powiadomienia UIContentSizeCategoryDidChangeNotification jest teraz
UIScreen.main() zamiast UIApplication.shared().
• Istnieją dwie właściwości w klasie UIViewPropertyAnimator i jedna metoda w
Protokół UIViewAnimating niedostępny w iOS 10 beta 1.
UIViewPropertyAnimator:
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 11 z 13
@property(nonatomic, getter=isManualHitTestingEnabled) BOOL
ręczneTestowanieHitWłączone;
@property(nonatomic, tylko do odczytu) Opóźnienie NSTimeInterval;
UIViewAnimacja:
(void)startAnimationAfterDelay:(NSTimeInterval)opóźnienie;
Znane problemy
• Podczas pracy w symulatorze iPada Pro (9.7 cala) kolekcja cech UIScreen.mainScreen
ma gamę wyświetlania sRGB zamiast P3, a zasoby obrazu o zawartości szerokiej gamy to
zaginiony. Dotyczy to zasobów graficznych zawierających obrazy w gnieździe P3, a także obrazy w gnieździe Dowolny
zawierający treści o szerokim gamucie. Te problemy nie mają wpływu na aplikacje działające na urządzeniu.
• Elementy dotykowe 3D Touch nie są odtwarzane, jeśli nie włączono kliknięć klawiaturą w Ustawieniach > Dźwięki.
• Obiekt UIPreviewActionItem utworzony za pomocą UIPreviewActionStyleSelected nie
pojawią się z wybranym stylem.
• Metody didReceiveLocalNotification: i didReceiveRemoteNotification to
nie wywoływano domyślnej akcji, jeśli aplikacja jest już uruchomiona.
• Gdy opcja UITextField.completesFontSizeToFitWidth ma wartość true, wartość UITextField jest teraz skalowana
różne czcionki wewnątrz przypisanego ciągu ustawionego w atrybutText zamiast skalować czcionkę i
stosując go do całego ciągu. Oznacza to, że informacje o czcionce nie są już tracone podczas automatycznego skalowania.
• Brakuje metody -[UIImage imageWithHorizontallyFlippedOrientation].
interfejs UIImage w iOS 10 beta 1.
• Obrazy odwracalne lub specyficzne dla kierunku przypisane do obrazu obiektu UIButton nie są odwracane.
Rozwiązanie: w przypadku obrazów w katalogach zasobów ustaw opcję Renderuj jako zasobu obrazu na Oryginał
Obraz. W przypadku obrazów utworzonych w kodzie ustaw właściwość renderingMode obrazu
do .AlwaysOriginal przed dodaniem go do UIImageAsset.
• Domyślnie NIE. Ustaw, jeśli chcesz zarządzać testowaniem trafień animowanych hierarchii widoków
@property(nonatomic, getter=isManualHitTestingEnabled) BOOL
ręczneTestowanieHitWłączone;
• ChangeCount nie jest aktualizowany dla pasteboardWithName i
tektura Z Unikalną Nazwą.
• W systemie iOS 10, jeśli ustawisz właściwość borderStyle obiektu UITextField na .none,
clipsToBounds ma również wartość false, aby uwzględnić tekst z rozszerzonymi znakami diakrytycznymi, takimi jak
hindi i arabski.
Jeśli chcesz, aby pole tekstowe zostało przycięte i nie używało stylu obramowania, ustaw później opcję ClipsToBounds na true
ustawienie stylu obramowania.
Ustawienie któregokolwiek z pozostałych stylów obramowania nie ma wpływu na wartość ClipsToBounds.
Portfel
Banery aktualizacji przepustki nie będą wyświetlane, chyba że poprzednie powiadomienia o przepustce zostaną najpierw usunięte z Powiadomień
Center.
 Prawa autorskie © 2016 Apple Inc. Wszelkie prawa zastrzeżone. Warunki korzystania. Polityka prywatności. Strona 12 z 13
widgety
Gdy po raz pierwszy debugujesz widżet (czyli rozszerzenie Today) na urządzeniu, nie jest on wyświetlany jako możliwy
rozbudowa.
Rozwiązanie: Debuguj ponownie, aby rozszerzenie się pojawiło.
Xcode
• Ustawienie zmiennej środowiskowej DYLD_PRINT_STATISTICS w Xcode nie działa w systemie iOS
urządzenia w systemie iOS 10 beta 1.
• Przy pierwszym uruchomieniu po usunięciu ustawień urządzenia klawiatura sprzętowa wydaje się być przełączona
i stan menu nie wydaje się być prawidłowy.
Rozwiązanie: Zaznacz, a następnie usuń zaznaczenie menu klawiatury sprzętowej.
• Jeśli w nazwie aplikacji Xcode lub dowolnego folderu nadrzędnego znajduje się spacja, symulator nie wykona
uruchomienie i katalogi zasobów nie są skompilowane.
Obejście: Unikaj używania spacji w nazwach aplikacji Xcode. Dodatkowo Xcode powinien znajdować się w ścieżce
bez spacji.
• Jeśli do pakietu naklejek dodano sekwencję naklejek i pozostawiono ją pustą, lub jeśli były tam ramki o różnych rozmiarach
dodano, aplikacja pakietu naklejek jest pusta po wdrożeniu.
Rozwiązanie: Dodaj ramki z naklejkami o tym samym rozmiarze.
• Jeśli rozszerzenie wiadomości w Swift zostanie ponownie wdrożone, zmiany w kodzie nie zostaną odzwierciedlone i nastąpi debugowanie
sesja nie została ustanowiona.
Rozwiązanie: Usuń rozszerzenia z urządzenia przed każdym ponownym wdrożeniem.
• Selektory danych utworzone w Storyboardach mogą nie być prawidłowo ułożone.
• Czasami użycie Command-Shift-HH na ekranie głównym nie wywołuje przełącznika aplikacji.
Rozwiązanie: Uruchom dowolną aplikację przed użyciem Command-Shift-HH.