Wprowadzenie do systemu iOS 10
Dzięki nowemu zestawowi SDK systemu iOS 10 firma Apple włączyła nowe interfejsy API i usługi, które umożliwiają deweloperowi tworzenie nowych kategorii aplikacji i funkcji. Aplikacja systemu iOS może teraz rozszerzyć aplikacje Wiadomości, Siri, Phone i Maps, aby zapewnić użytkownikom końcowym zaawansowane, atrakcyjne funkcje, które były wcześniej niedostępne.
Aby uzyskać więcej informacji na temat systemu iOS 10, zobacz dokumentację systemu iOS i aplikacji firmy Apple.
Co nowego w systemie iOS 10
Firma Apple dodała kilka nowych interfejsów API i usług w systemie iOS 10 wraz z wieloma ulepszeniami istniejących funkcji, w tym:
Dostosowywanie do wyświetlania rzeczywistego tonu
Technologia True Tone Display firmy Apple używa czujnika światła otoczenia w urządzeniu z systemem iOS, aby dynamicznie dostosować kolor i intensywność wyświetlacza w celu dopasowania do bieżących warunków oświetlenia. System iOS 10 udostępnia nowy klucz UIWhitePointAdaptivityStyle , który można dodać do pliku aplikacji Info.plist
i kontroluje sposób zastosowania standardowego przesunięcia koloru przez wartość True Tone.
Dostępne są następujące wartości:
UIWhitePointAdaptivityStyleStandard
Ustawienie domyślne — użyj standardowej adaptacji punktów białych.UIWhitePointAdaptivityStyleReading
— służy do odczytywania aplikacji przeznaczonych do czytania.UIWhitePointAdaptivityStyleGame
— Używane w aplikacjach skoncentrowanych na grze.UIWhitePointAdaptivityStyleVideo
— służy do obsługi aplikacji ukierunkowanych na wideo.UIWhitePointAdaptivityStylePhoto
- Używane w aplikacjach skoncentrowanych na fotografii, gdzie wierność kolorów jest ważniejsza niż ustawienia środowiska biały punkt.
Rozszerzenia aplikacji
Firma Apple udostępniła kilka nowych punktów rozszerzenia aplikacji w systemie iOS 10:
- Katalog wywołań
- Interfejs użytkownika intencji i intencji
- Wiadomości
- Zawartość powiadomienia
- Notification Services
- Pakiet naklejek
Ponadto rozszerzenia aplikacji klawiaturowych innych firm mają następujące ulepszenia:
- Nowa
DocumentInputMode
właściwośćUITextDocumentProxy
klasy może określić język wejściowy dokumentu i umożliwić rozszerzenie klawiatury do dopasowania do tego języka. - Nowa
HandleInputModeList
metoda umożliwia rozszerzenie klawiatury wyświetla menu selektora klawiatury systemu w odpowiedzi na naciśnięcie Globe.
Aby uzyskać więcej informacji, zobacz wprowadzenie do rozszerzeń, integracji aplikacji komunikatów, wprowadzenie do proaktywnych sugestii, wprowadzenie do SiriKit, wprowadzenie do powiadomień użytkowników i przewodnik programowania rozszerzeń aplikacji firmy Apple.
Ulepszenia wyszukiwania aplikacji
Funkcja Core Spotlight w systemie iOS 10 oferuje kilka ulepszeń funkcji wyszukiwania aplikacji, takich jak:
- Crowdsourced Deep-Link Popularity (z prywatnością różnicową) — zapewnia sposób promowania głęboko połączonej zawartości aplikacji w wynikach wyszukiwania.
- Wyszukiwanie w aplikacji — użyj nowej
CSSearchQuery
klasy, aby zapewnić możliwość wyszukiwania w funkcji W centrum uwagi w aplikacji podobną do sposobu działania aplikacji Poczta, Wiadomości i Notatki. - Kontynuacja wyszukiwania — umożliwia użytkownikowi rozpoczęcie wyszukiwania w centrum uwagi lub przeglądarce Safari, a następnie otwarcie aplikacji i kontynuowanie tego wyszukiwania.
- Wizualizacja wyników walidacji — narzędzie weryfikacji interfejsu API wyszukiwania aplikacji firmy Apple wyświetla teraz wizualną reprezentację znaczników i linków w witrynie internetowej podczas testów preformowania.
- Udostępnianie obrazów aplikacji komunikatów — umożliwia wyświetlanie popularnych obrazów w aplikacji udostępnianych w wiadomościach (za pośrednictwem rozszerzenia aplikacji komunikatów) w wyszukiwaniach W centrum uwagi.
Aby dowiedzieć się więcej, zobacz nasz przewodnik po ulepszeniach wyszukiwania aplikacji.
Ulepszenia usługi Apple Pay
Firma Apple wprowadziła kilka ulepszeń usługi Apple Pay w systemie iOS 10, które umożliwiają użytkownikowi dokonywanie bezpiecznych płatności z witryn internetowych oraz interakcję z Siri i Maps.
W systemie iOS 10 dodano kilka nowych interfejsów API, które współpracują zarówno z systemem iOS, jak i watchOS w celu obsługi dynamicznych sieci płatności i nowego środowiska testowego piaskownicy.
Ponadto platforma PassKit została rozszerzona w celu obsługi usługi Apple Pay poza UIKit
platformą i umożliwienia wystawcom kart prezentowania kart z poziomu aplikacji.
Aby dowiedzieć się więcej, zobacz nasz przewodnik dotyczący ulepszeń usługi Apple Pay.
Alternatywne ikony aplikacji
Firma Apple dodała kilka ulepszeń systemu iOS 10.3, które umożliwiają aplikacji zarządzanie jej ikoną:
ApplicationIconBadgeNumber
— Pobiera lub ustawia znaczek ikony aplikacji na platformie Springboard.SupportsAlternateIcons
— Jeślitrue
aplikacja ma alternatywny zestaw ikon.AlternateIconName
— Zwraca nazwę aktualnie wybranej ikony alternatywnej lubnull
jeśli używasz ikony podstawowej.SetAlternameIconName
— Użyj tej metody, aby przełączyć ikonę aplikacji na daną ikonę alternatywną.
Aby dowiedzieć się więcej, zobacz nasz przewodnik po ikonach alternatywnych aplikacji.
Wprowadzenie do zestawu CallKit
Nowy interfejs API CallKit w systemie iOS 10 umożliwia aplikacjom VOIP integrację z interfejsem użytkownika urządzenia iPhone i udostępnia znany interfejs i środowisko dla użytkownika końcowego. Dzięki temu interfejsowi API użytkownicy mogą wyświetlać i korzystać z wywołań VOIP z ekranu blokady urządzenia z systemem iOS oraz zarządzać kontaktami przy użyciu widoków Ulubione i Ostatnie w aplikacji Phone.
Ponadto interfejs API CallKit umożliwia tworzenie rozszerzeń aplikacji, które mogą skojarzyć numer telefonu z nazwą (identyfikatorem osoby wywołującej) lub poinformować system, kiedy numer powinien zostać zablokowany (blokowanie wywołań).
Aby dowiedzieć się więcej, zobacz przewodnik Wprowadzenie do zestawu callkit .
Integracja z aplikacją do obsługi wiadomości
System iOS 10 umożliwia włączenie rozszerzenia aplikacji komunikatów w rozwiązaniu Xamarin.iOS, które integruje się z aplikacją Messages i prezentuje nowe funkcje użytkownikowi. Rozszerzenie może wysyłać tekst, naklejki, pliki multimedialne i interaktywne wiadomości. Dostępne są dwa typy rozszerzenia aplikacji komunikatów:
- Pakiety naklejek — zawiera kolekcję naklejek, które użytkownik może dodać do wiadomości. Pakiety naklejek można tworzyć bez pisania kodu.
- Aplikacja iMessage — może prezentować niestandardowy interfejs użytkownika w aplikacji Wiadomości do wybierania naklejek, wprowadzania tekstu, w tym plików multimedialnych (z opcjonalną konwersją typu) oraz tworzenia, edytowania i wysyłania komunikatów interakcji.
Aby dowiedzieć się więcej, zapoznaj się z naszym przewodnikiem dotyczącym integracji aplikacji komunikatów.
Ulepszenia wydawcy wiadomości
Dzięki systemowi iOS 10 firma Apple umożliwi każdemu z głównych magazynów i nowych organizacji blogerom i niezależnym wydawcom rejestrację i produkt oraz dostarczanie zawartości do aplikacji Apple News. Aby dowiedzieć się więcej, zobacz dokumentację zasobów aktualności firmy Apple.
Przekazywanie opinii dotykowych
Na iPhone 7 i iPhone 7 Plus, Apple zawiera nowe odpowiedzi haptyczne, które zapewniają dodatkowe sposoby fizycznego zaangażowania użytkownika. Użyj nowych opcji przesyłania opinii dotykowych, aby zwrócić uwagę użytkownika i wzmocnić swoje działania.
Kilka wbudowanych elementów interfejsu użytkownika już udostępnia opinie haptyczne, takie jak selektory, przełączniki i suwaki. System iOS 10 dodaje teraz możliwość programowego wyzwalania haptyki przy użyciu podklasy UIFeedbackGenerator
klasy.
Aby dowiedzieć się więcej, zapoznaj się z naszym przewodnikiem po dostarczaniu informacji zwrotnych .
Sugestie proaktywne
System iOS 10 przedstawia nowe sposoby angażowania się w aplikację, umożliwiając systemowi proaktywne prezentowanie przydatnych informacji automatycznie użytkownikowi w odpowiednim czasie. Podobnie jak system iOS 9 zapewniał możliwość dodawania głębokiego wyszukiwania do aplikacji przy użyciu funkcji Spotlight, Handoff i Siri Suggestions, a system iOS 10 aplikacja może uwidocznić funkcje, które mogą być prezentowane użytkownikowi przez system z poziomu następujących lokalizacji:
- Przełącznik aplikacji
- Ekran blokady
- CarPlay
- Maps
- Interakcje Siri
- Sugestie quicktype
Aplikacja uwidacznia tę funkcję systemowi przy użyciu kolekcji technologii, takich jak NSUserActivity, znaczniki internetowe, Core Spotlight, MapKit, Odtwarzacz multimedialny i UIKit.
Aby dowiedzieć się więcej, zobacz przewodnik Wprowadzenie do proaktywnych sugestii .
Żądanie przeglądu aplikacji
Nowa w systemie iOS 10.3 RequestReview()
metoda umożliwia aplikacji systemu iOS monit o ocenę lub przejrzenie jej przez użytkownika. Chociaż ta metoda może być wywoływana w dowolnym momencie, w którym ma sens w środowisku użytkownika, proces przeglądu jest zarządzany i obsługiwany przez zasady sklepu App Store. W związku z tym ta metoda może lub nie może wyświetlać alertu i nigdy nie powinna być wywoływana w odpowiedzi na akcję użytkownika, taką jak naciśnięcie przycisku.
Aby dowiedzieć się więcej, zapoznaj się z naszym przewodnikiem Dotyczącym przeglądu aplikacji żądań.
Ulepszenia zabezpieczeń i prywatności
Firma Apple wprowadziła kilka ulepszeń zarówno w zakresie zabezpieczeń, jak i prywatności w systemie iOS 10, które pomogą deweloperowi poprawić bezpieczeństwo swoich aplikacji i zapewnić prywatność użytkownika końcowego.
W związku z tym aplikacje działające w systemie iOS 10 (lub nowszym) muszą statycznie zadeklarować zamiar uzyskania dostępu do określonych funkcji lub informacji o użytkowniku, wprowadzając co najmniej jeden klucz specyficzny dla prywatności w swoich Info.plist
plikach, które wyjaśniają użytkownikowi, dlaczego aplikacja chce uzyskać dostęp.
Aby dowiedzieć się więcej, zobacz przewodnik Ulepszenia zabezpieczeń i prywatności.
SiriKit
Nowość dla systemu iOS 10 SiriKit umożliwia aplikacji platformy Xamarin.iOS udostępnianie usług, które są dostępne dla użytkownika przy użyciu Siri na urządzeniu z systemem iOS. Ta funkcja jest udostępniana w co najmniej jednym rozszerzeniu aplikacji przy użyciu nowych struktur interfejsu użytkownika Intents and Intents.
Zestaw SiriKit obsługuje następujące domeny usług:
- Połączenia audio lub wideo.
- Rezerwacja jazdy.
- Zarządzanie treningami.
- Obsługa komunikatów.
- Wyszukiwanie zdjęć.
- Wysyłanie lub odbieranie płatności.
Gdy użytkownik wysyła żądanie Siri z udziałem jednej z usług rozszerzenia aplikacji, SiriKit wysyła rozszerzenie obiekt Intent opisujący żądanie użytkownika wraz z wszelkimi danymi pomocniczymi. Następnie rozszerzenie aplikacji generuje odpowiedni obiekt Odpowiedzi dla danej intencji, szczegółowo opisujący sposób obsługi żądania przez rozszerzenie.
Chociaż Siri zwykle obsługuje całą interakcję użytkownika, rozszerzenie aplikacji może używać struktury interfejsu użytkownika intent do prezentowania rozbudowanego, niestandardowego interfejsu użytkownika z marką aplikacji i dodatkowymi informacjami.
Aby dowiedzieć się więcej, zobacz przewodnik Wprowadzenie do zestawu SiriKit .
Rozpoznawanie mowy
System iOS 10 zawiera nowy interfejs API rozpoznawania mowy, który umożliwia aplikacji obsługę ciągłego rozpoznawania mowy i transkrypcji mowy (ze strumieni audio na żywo lub nagranych) do tekstu.
Ponieważ rozpoznawanie mowy wymaga transmisji i tymczasowego przechowywania danych na serwerach firmy Apple, aplikacja musi zażądać uprawnień użytkownika do przeprowadzenia rozpoznawania, uwzględniając NSSpeechRecognitionUsageDescription
klucz w pliku Info.plist
i wywołując metodę SFSpeechRecognizer.RequestAutorization
.
Aby dowiedzieć się więcej, zobacz przewodnik Wprowadzenie do rozpoznawania mowy.
Powiadomienia użytkownika
Nowe w systemie iOS 10 platforma powiadomień użytkownika umożliwia dostarczanie i obsługę powiadomień lokalnych i zdalnych. Korzystając z tej struktury, aplikacja lub rozszerzenie aplikacji może zaplanować dostarczanie powiadomień lokalnych, określając zestaw warunków, takich jak lokalizacja lub godzina dnia.
Ponadto aplikacja lub rozszerzenie może odbierać (i potencjalnie modyfikować) zarówno powiadomienia lokalne, jak i zdalne, ponieważ są dostarczane do urządzenia z systemem iOS użytkownika.
Nowa struktura interfejsu użytkownika powiadomień użytkownika umożliwia aplikacji lub rozszerzeniu aplikacji dostosowywanie wyglądu powiadomień lokalnych i zdalnych, gdy są one prezentowane użytkownikowi.
Aby dowiedzieć się więcej, zapoznaj się z naszym przewodnikiem dotyczącym struktury powiadomień użytkowników.
Konto subskrybenta wideo
Nowa wersja dla systemu iOS 10 platforma konta subskrybenta wideo umożliwia aplikacjom obsługującym uwierzytelnione przesyłanie strumieniowe lub wideo na żądanie w celu uwierzytelnienia się za pomocą lub dostawcy telewizji satelitarnej przy użyciu środowiska logowania jednokrotnego dla użytkownika końcowego.
Szeroki zakres kolorów
System iOS 10 rozszerza obsługę formatów pikseli rozszerzonego zakresu i szerokiej gamy kolorów w całym systemie, w tym struktur, takich jak Core Graphics, Core Image, Metal i AVFoundation. Obsługa urządzeń z wyświetlaczami o szerokim kolorze jest jeszcze bardziej złagodowana przez zapewnienie tego zachowania w całym stosie graficznym.
Ponadto zestaw UIKit został zmodyfikowany tak, aby działał w nowej rozszerzonej przestrzeni kolorów sRGB, co ułatwia mieszanie kolorów w szerokiej gamie kolorów bez znacznej utraty wydajności.
Firma Apple oferuje następujące najlepsze rozwiązania dotyczące pracy z szerokimi kolorami:
- UIColor używa teraz przestrzeni kolorów sRGB i nie będzie już zaciskać wartości do
0.0
1.0
zakresu. Jeśli aplikacja opiera się na poprzednim zachowaniu zacisku, należy zmodyfikować go dla systemu iOS 10. - Środowisko rysunku zostanie skonfigurowane dla przestrzeni kolorów SRGB podczas wykonywania niestandardowego
UIView
rysunku na urządzeniu iPad Pro. - Jeśli aplikacja wykonuje niestandardowe renderowanie
UIImages
, użyj nowej klasy UIGraphicsImageRender , aby określić użycie formatów rozszerzonych lub standardowych zakresów. - W przypadku korzystania z interfejsu API niskiego poziomu, takiego jak Core Graphics lub Metal w celu zapewnienia przetwarzania obrazów, deweloper powinien użyć rozszerzonej przestrzeni kolorów zakresu i formatu pikseli, który obsługuje 16-bitowe wartości zmiennoprzecinkowe. W razie potrzeby deweloper będzie musiał ręcznie zaciskać wartości składników koloru.
- Core Graphics, Core Image and Metal Performance Shaders wszystkie zapewniają nowe metody konwersji między dwiema przestrzeniami kolorów.
Aby dowiedzieć się więcej, zobacz przewodnik Wprowadzenie do szerokiego koloru .
Ulepszenia widżetu
Firma Apple wprowadziła kilka ulepszeń systemu widżetów, aby upewnić się, że widżety wyglądają świetnie na każdym tle, które istnieje na nowym ekranie blokady systemu iOS 10. Właściwość NotificationCenterVibrancyEffect została wycofana i została zastąpiona nowymi właściwościami WidgetPrimaryVibrancyEffect lub WidgetSecondaryVibrancyEffect. Ponadto widżety zawierają teraz właściwość NCWidgetDisplayMode, która umożliwia deweloperowi opisanie ilości dostępnej zawartości i umożliwia użytkownikowi rozwijanie i zwijanie zawartości.
Aby dowiedzieć się więcej, zobacz przewodnik Ulepszenia widżetu wyszukiwania i ekranu głównego.
Dodatkowe zmiany struktury
Oprócz głównych zmian i dodatków platform wymienionych powyżej firma Apple wprowadziła wiele dodatkowych drobnych zmian struktury w systemie iOS 10.
Aby dowiedzieć się więcej, zobacz nasz przewodnik Dodatkowe zmiany struktury.
Przestarzałe interfejsy API
Następujące interfejsy API zostały wycofane w systemie iOS 10:
- Klasy
CKDiscoverAllContactsOperation
,CKDiscoveredUserInfo
CKDiscoverUserInfosOperation
iCKFetchRecordChangesOperation
zostały wycofane w zestawie CloudKit dla systemu iOS 10. Zamiast tego użyj klas CKDiscoverAllUserIdentitiesOperation, CKUserIdentity i CKFetchRecordZoneChangesOperation (które obsługują udostępnianie rekordów). - Kilka interfejsów API CKSubscription (takich jak subskrypcje oparte na strefach i subskrypcjach opartych na zapytaniach) zostało przestarzałych. Zamiast tego użyj interfejsów API CKRecordZoneSubscription i CKQuerySubscription .
- Symbole NSPersistentStoreCoordinator związane z wszechobecną zawartością zostały przestarzałe.
ADBannerView
ADInterstitialAd
, i powiązane symbole w klasie UIViewController zostały przestarzałe.- Symbole SKUniform związane z wartościami zmiennoprzecinkowymi zostały przestarzałe.
- Klasy
UILocalNotification
,UIMutableUserNotificationAction
,UIMutableUserNotificationCategory
,UIUserNotificationAction
UIUserNotificationCategory
iUIUserNotificationSettings
UIKit zostały uznane za przestarzałe. Zamiast tego użyj struktury Powiadomień użytkowników. - Metody
HandleActionForLocalNotification
,HandleActionForRemoteNotification
DidReceiveLocalNotification
iDidReceiveRemoteNotification
WatchKit zostały wycofane.HandleActionForNotification
Zamiast tego użyj metod iDidReceiveNotification
. - Metody
DidReceiveLocalNotification
iDidReceiveRemoteNotification
rozszerzenia WKExtensionDelegate zostały wycofane. Utwórz wystąpienie UNUserNotificationCenterDelegate , które implementuje odpowiednie metody i przypisz je doDelegate
właściwości obiektu UNUserNotificationCenter . - Aplikacja Game Center została wycofana i usunięta z systemu iOS. Jeśli aplikacja używa zestawu GameKit, musi przedstawić własny interfejs do wyświetlania funkcji zestawu GameKit, takich jak rankingi itp.
Aby uzyskać pełną listę wycofań, zobacz Dokumentację różnic interfejsu API dla systemu iOS 9.3 do systemu iOS 10.0.