iOS 8.2 – cała lista zmian opublikowanych przez Apple

  iOS 8.2 została uruchomiona dziś wieczorem przez firmę Apple dla twórców aplikacji na platformę iOS, nowa wersja systemu operacyjnego jest dostępna dla iPhone'a, iPada i iPoda Touch. Wydanie tej aktualizacji ma na celu umożliwienie twórcom aplikacji przetestowania nowej wersji systemu operacyjnego z aplikacjami, które można wygenerować przy użyciu nowego Xcode 6.2. Ta wersja XCode zawiera WatchKit, czyli specjalny pakiet SDK, który umożliwia tworzenie aplikacji na Apple Watch, dzięki czemu programiści mogą przygotować swoje tytuły na premierę nowego produktu Apple.

  iOS 8.2 nie wnosi żadnych znaczących nowości dla naszych iDevices, a jedynie funkcje związane z WatchKit lub OS X, więc na razie nie trzeba go instalować.

Dziennik zmian iOS 8.2

Uwagi i znane problemy

Poniższe problemy dotyczą używania zestawu SDK systemu iOS 8.2 do tworzenia kodu.

CloudKit

Note

Pojedynczy CKAsset instancji nie można już ustawić jako wartości w wielu rekordach CKRecords.

Dostawcy dokumentów

Uwagi

  • Twoja aplikacja wymaga uprawnień iCloud, aby mogła być używana jako dostawca dokumentów.

  • Połączenia com.apple.developer.icloud-container-identifiers wymagane jest uprawnienie.

Znane problemy

  • Po obróceniu selektora dokumentów do pozycji poziomej pasek stanu jest ukryty.

  • Po wywołaniu selektora dokumentów w orientacji poziomej widok zawierający dokument może zostać przesunięty pod pasek nawigacyjny.

Rozszerzenia aplikacji

Uwagi

  • Rozszerzenia aplikacji wymagają fragmentu arm64, aby działać na urządzeniach 64-bitowych. Jeśli spróbujesz uruchomić plasterek armv7 na urządzeniu 64-bitowym, nie zadziała.

  • Aplikacje muszą mieć wycinek arm64, jeśli pakiet zawiera platformę, z którą łączy się zarówno aplikacja, jak i rozszerzenie aplikacji.

System plików

Note

Układ systemu plików kontenerów aplikacji został zmieniony na dysku. Zamiast polegać na zakodowanej na stałe strukturze katalogów, użyj metody NSSearchPathForDirectoriesInDomains funkcja lub URLForDirectory:inDomain:appropriateForURL:create:error: metoda NSFileManagerklasa. Widzieć Dostęp do plików i katalogów in Przewodnik programowania systemu plików.

Czcionki

Note

Aby poprawić czytelność, zwiększono rozmiar tajskiej czcionki systemowej. Jeśli nie podejmiesz odpowiednich działań, spowoduje to przycięcie w wielu miejscach interfejsu użytkownika:

  1. Zastosowanie UILabel tak dużo jak to możliwe. Jeżeli korzystasz z Konstruktora interfejsów, upewnij się, że opcja Podglądy klipów nie jest zaznaczona. UIKit powiększy region przycinania, jeśli to konieczne, aby nie przycinać tekstu.

  2. Użyj typu dynamicznego. Dzięki temu w etykietach wielowierszowych lub polach tekstowych nie będzie nakładających się glifów.

Jeśli nie możesz wykonać 1 i 2, ponieważ implementujesz własne widoki, musisz wdrożyć środki, aby nie przycinać. Możesz użyć CoreText, aby znaleźć odpowiedni region przycinania dla linii tekstu, wywołując:

CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);

Aby uniknąć nakładania się glifów w elementach tekstu wielowierszowego, dostosuj wysokość linii. Zalecane jest dodatkowe 30%.

Dzięki temu działaniu Twoja aplikacja będzie działać lepiej w innych językach, w tym w języku arabskim, hindi i wietnamskim.

iCloud

Note

Przekazywanie poczty i funkcja AirDrop mogą przestać działać po zmianie hasła do usługi iCloud na stronie appleid.apple.com.

Obejście: Wyloguj się i wróć do iCloud na urządzeniu.

iCloud Napęd

Note

URLForUbiquityContainerIdentifier: może wrócić nil podczas uruchamiania aplikacji w Xcode. Jeśli tak, otwórz Preferencje systemowe, przejdź do iCloud > iCloud Drive i włącz Xcode.

klawiatury

Znana kwestia

Dodatkowe klawiatury, w tym klawiatury innych firm, mogą nie pojawiać się w przeglądarce Safari, Mapach lub aplikacjach innych firm w Symulatorze.

Obejście: Klawiatury powinny umożliwiać testowanie w Kalendarzu, Spotlight, Kontaktach i Zdjęciach.

Centrum powiadomień

Note

Harmonogram i przeznaczenie widgetPerformUpdateWithCompletionHandler: ma służyć jako wygodne miejsce dla całej logiki aktualizacji danych/modeli. Jeśli zostanie wdrożony, system będzie w odpowiednich momentach wywoływał widget w celu aktualizacji swojego stanu, zarówno gdy widoczne jest Centrum Powiadomień, jak i w tle. Aby umożliwić aktualizacje w tle, wymagana jest implementacja. Oczekuje się, że widżet będzie w miarę możliwości aktualizował asynchronicznie i poza głównym wątkiem. Widżety powinny wywołać blok argumentów po zakończeniu pracy, przekazując odpowiedni NCUpdateResult. Widżety NIE powinny blokować powrotu z viewWillAppear: o wynikach tej operacji. Zamiast tego widżety powinny ładować stan pamięci podręcznej viewWillAppear: w celu dopasowania stanu widoku z ostatniego viewWillDisappear:, a następnie płynnie przechodź do nowych danych, gdy tylko zostaną dostarczone.

Sesja NSURLS

Note

Połączenia NSURLSessionTask class udostępnia nową właściwość „priorytetową” z trzema powiązanymi stałymi: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLow, NSURLSessionTaskPriorityHigh. NSURLSessionTask priorytetów można użyć do określenia priorytetu wielu żądań i odpowiedzi kierowanych do tego samego hosta. Należy pamiętać, że priorytet jest wskazówką, a nie ścisłą gwarancją NSURLSessionTask wydajność.

Aby uzyskać szczegółowe informacje na temat użytkowania NSURLSessionTask priorytety, patrz NSURLSession.h nagłówkowy, który jest dostarczany przez framework Foundation.

Telefon

Uwagi

Aby aktywować funkcję połączeń Wi-Fi w T-Mobile (tylko w USA), wykonaj następujące kroki:

  • Wybierz Ustawienia > Telefon > Połączenia Wi-Fi.

  • Przełącz przełącznik Połączenia Wi-Fi w położenie WŁ.

  • Jeżeli operator nie posiada zarejestrowanego adresu alarmowego użytkownika, zostaniesz poproszony o jego dodanie przed aktywacją tej funkcji.

ZDJĘCIA

Uwagi

  • Przed włączeniem i podczas korzystania z biblioteki zdjęć iCloud w wersji beta utwórz kopię zapasową swojej biblioteki zdjęć, wykonując następujące czynności:

    • Importowanie na komputer Mac przy użyciu iPhoto

    • Importowanie na komputer Mac za pomocą programu Image Capture

  • Biblioteka zdjęć iCloud w wersji beta nie będzie pobierać zdjęć i filmów z iTunes zsynchronizowanych z Twoim urządzeniem. Wszelkie zdjęcia i filmy zsynchronizowane z Twoim urządzeniem z iTunes zostaną usunięte, gdy włączysz bibliotekę zdjęć iCloud w wersji beta.

  • iPhoto dla iOS nie zostanie uruchomione w wersji beta systemu iOS 8. Uruchomienie aplikacji Photos.app spowoduje migrację zmian wprowadzonych w iPhoto do biblioteki zdjęć systemu iOS 8. Upewnij się, że dane iPhoto dla iOS znajdują się w kopii zapasowej urządzenia.

  • Możliwość automatycznej optymalizacji miejsca na urządzeniu jest włączona dla wszystkich kont większych niż 5 GB.

  • Podczas korzystania z Udostępniania rodzinnego iCloud włączone są zarówno Udostępnianie zdjęć w iCloud, jak i Mój strumień zdjęć.

Profile udostępniania

Znana kwestia

Jeśli dokonałeś aktualizacji do wersji beta 8.2 z poprzednich wersji beta systemu iOS 8, możesz zauważyć awarie aplikacji z powodu problemów z profilem udostępniania.

Obejście:

  1. Podłącz urządzenie przez USB do komputera Mac.

  2. Uruchom Xcode.

  3. Wybierz polecenie Okno > Urządzenia.

  4. Kliknij prawym przyciskiem myszy urządzenie w lewej kolumnie i wybierz „Pokaż profile udostępniania”.

  5. Kliknij odpowiedni profil udostępniania.

  6. Naciśnij przycisk.

  7. Kontynuuj usuwanie wszystkich profili, których to dotyczy.

  8. Zainstaluj ponownie aplikację.

Siri

Znana kwestia

  • Obsługa Siri dla singapurskiego języka angielskiego jest wyłączona w tej wersji beta, chociaż nadal można ją wybrać w oknie wyboru języka Siri.

UIKit

Uwagi

  • UILabel ma domyślną wartość TAK dla clipsToBounds. To różni się od normalnego UIView domyślnie NIE.

  • Połączenia leftLayoutGuide i rightLayoutGuide Interfejsy API zostały usunięte. Proszę skorzystać z layoutMargins zamiast tego nieruchomość.

Zestaw obserwacyjny

Znane problemy

  • Kliknięcie ikony lub treści powiadomienia podczas przeglądania powiadomienia w symulatorze iOS nie powoduje uruchomienia odpowiedniej aplikacji Watch.

  • Wybranie opcji Build and Run nie powoduje uruchomienia okna Watch.

    Obejście: Otwórz okno czujki w obszarze Sprzęt > Wyświetlacze zewnętrzne, a następnie ponownie wybierz opcję Kompiluj i uruchom.

  • Niestandardowy kolor szarfy dla kontrolerów powiadomień nie jest obecnie wyświetlany w Konstruktorze interfejsów, ale pojawia się w symulatorze systemu iOS.

  • Połączenia presentTextInputControllerWithSuggestions:completion: metoda WKInterfaceController nie jest obecnie obsługiwana w symulatorze iOS.

  • Instalowanie aplikacji Watch może przestać działać w symulatorze iOS.

    Obejście: Zresetuj symulator i spróbuj ponownie.

  • Połączenia addMenuItemWithImage:title:action: metoda WKInterfaceController nie działa w symulatorze iOS.

    Obejście: Zastosowanie addMenuItemWithImageNamed:title:action:.

Połączenia Wi-Fi (tylko T-Mobile w USA)

Note

Nazwa operatora na pasku stanu będzie wyświetlać „T-Mobile Wi-Fi”, gdy urządzenie będzie mogło wykonywać i odbierać połączenia Wi-Fi.