Wprowadzenie do systemu macOS Sierra

Dzięki nowemu systemowi macOS Sierra deweloper może korzystać z nowych interfejsów API, które umożliwiają użytkownikowi końcowemu interakcję z aplikacjami i witrynami internetowymi w poprzednio niedostępny sposób. Na przykład firma Apple umożliwia teraz witrynom internetowym zapewnienie klientom możliwości bezpiecznego płacenia za pośrednictwem usługi Apple Pay i ulepszeń platformy Metal, co zwiększa potencjał graficzny i obliczeniowy aplikacji.

Aby uzyskać więcej informacji na temat systemu macOS Sierra, zobacz dokumentację systemu macOS i aplikacji firmy Apple.

Co nowego w systemie macOS Sierra

Firma Apple dodała kilka nowych interfejsów API i usług w systemie macOS Sierra wraz z wieloma ulepszeniami istniejących funkcji, w tym:

System plików firmy Apple

W systemie macOS Sierra firma Apple wydała nowy system plików Apple jako nowoczesny system plików dla systemów iOS, macOS, tvOS i watchOS. System plików Firmy Apple został zoptymalizowany pod kątem magazynu Flash i SSD i oferuje następujące funkcje: silne szyfrowanie, metadane kopiowania na zapis, udostępnianie przestrzeni, klonowanie plików i katalogów, migawki, szybkie ustalanie rozmiaru katalogu i niepodzielne bezpieczne zapisywanie pierwotnych.

Aby uzyskać więcej informacji, zobacz Apple File System Guide (Przewodnik po systemie plików Apple Apple).

Ulepszenia usługi Apple Pay

Apple wprowadziło kilka ulepszeń usługi Apple Pay w systemie macOS Sierra, które umożliwiają użytkownikowi dokonywanie bezpiecznych płatności z witryn internetowych.

W systemie macOS Sierra dodano kilka nowych interfejsów API, które współpracują z systemami macOS Sierra, iOS i watchOS w celu obsługi dynamicznych sieci płatniczych i nowego środowiska testowego piaskownicy.

MacOS Sierra zawiera nową strukturę ApplePay Javascript, która umożliwia deweloperowi włączenie usługi Apple Pay bezpośrednio do witryn internetowych opartych na systemie iOS i macOS w przeglądarce Safari. W przypadku witryn internetowych obsługujących usługę Apple Pay użytkownik może autoryzować płatność przy użyciu urządzenia i Telefon lub Apple Watch.

Aby uzyskać więcej informacji, zobacz ApplePay JS Framework reference (Dokumentacja struktury ApplePay JS Framework firmy Apple).

Tworzenie nowoczesnych aplikacji systemu macOS

Nowoczesne aplikacje dla systemu macOS, takie jak przeglądarka internetowa Safari firmy Apple, edytor wyrazów Stron i arkusze liczb, używają wielu nowych technologii do prezentowania ujednoliconego, kontekstowego interfejsu użytkownika, który nie korzysta z tradycyjnych elementów interfejsu użytkownika, takich jak pływające panele i wiele otwartych okien.

Przykład okna z kartami dla komputerów Mac

Nasz przewodnik Tworzenie nowoczesnych aplikacji systemu macOS zawiera kilka wskazówek, funkcji i technik, których deweloper może użyć do utworzenia nowoczesnej aplikacji systemu macOS na platformie Xamarin.Mac.

Udostępnianie danych w usłudze CloudKit

Struktura CloudKit została rozszerzona w systemie macOS Sierra, aby umożliwić użytkownikowi szybkie i łatwe udostępnianie rekordów lub zestawów rekordów z prywatnych baz danych iCloud.

Zestaw CloudKit udostępnia kompletny interfejs użytkownika do wysyłania i akceptowania zaproszeń do rekordów udostępnionych, a użytkownik ma pełną kontrolę odczytu/zapisu nad osobami, które mają dostęp do rekordów.

Aby uzyskać więcej informacji, zobacz Dokumentację struktury CloudKit Framework firmy Apple i dokumentację struktury CloudKit JS Framework.

Ważne

Firma Apple udostępnia narzędzia pomagające deweloperom w prawidłowym obsłudze ogólnego rozporządzenia o ochronie danych (RODO) Unii Europejskiej.

Obsługa rozszerzeń aplikacji Safari

Rozszerzenia aplikacji Safari umożliwiają aplikacji rozszerzanie zachowania przeglądarki internetowej Safari przy ścisłej integracji z systemem macOS Sierra. Ponieważ rozszerzenia aplikacji Safari dla systemu macOS działają podobnie do rozszerzeń aplikacji Safari systemu iOS, są łatwe do przenoszenia z jednego systemu do innego.

Aby uzyskać więcej informacji, zobacz Przewodnik programowania rozszerzeń aplikacji Safari firmy Apple.

Ulepszenia zabezpieczeń i prywatności

Firma Apple wprowadziła kilka ulepszeń zarówno w zakresie zabezpieczeń, jak i prywatności w systemie macOS Sierra, które pomogą aplikacji poprawić bezpieczeństwo aplikacji i zapewnić prywatność użytkownika końcowego, w tym następujące elementy:

  • Nowy NSAllowsArbitraryLoadsInWebContent klucz można dodać do pliku aplikacji Info.plist i pozwoli na poprawne ładowanie stron internetowych, podczas gdy ochrona usługi Apple Transport Security (ATS) jest nadal włączona dla pozostałej części aplikacji.
  • Interfejs API Common Data Security Architecture (CDSA) został przestarzały i powinien zostać zastąpiony interfejsem API SecKey w celu wygenerowania kluczy asymetrycznych.
  • W przypadku wszystkich połączeń SSL/TLS szyfrowanie symetryczne RC4 jest teraz domyślnie wyłączone. Ponadto interfejs API bezpiecznego transportu nie obsługuje już protokołu SSLv3 i zaleca się, aby aplikacja przestała używać kryptografii SHA-1 i 3DES tak szybko, jak to możliwe.
  • Ponieważ nowy Schowek w systemach iOS 10 i macOS Sierra umożliwia użytkownikowi kopiowanie i wklejanie między urządzeniami, interfejs API został rozszerzony, aby umożliwić schowek ograniczony do określonego urządzenia i być znacznikiem czasu wyczyszczone automatycznie w danym momencie. Ponadto nazwane tablice wklejania nie są już utrwalane i powinny zostać zastąpione udostępnionymi kontenerami tablicy wklejanej.
  • Jeśli aplikacja uzyskuje dostęp do chronionych danych (takich jak kalendarz użytkownika), musi zadeklarować , że intencja ma prawidłowy klucz wartości ciągu przeznaczenia w swoim Info.plist pliku (NSCalendarUsageDescription w przypadku kalendarza).
  • Aplikacje podpisane przez deweloperów, które nie są dostarczane za pośrednictwem sklepu Mac App Store, mogą teraz korzystać z uprawnień cloudKit, iCloud Keychain, iCloud Drive, powiadomień wypychanych zdalnych, zestawu MapKit i uprawnień sieci VPN.
  • System macOS Sierra nie obsługuje już dostarczania kodu zewnętrznego lub danych wraz z aplikacją do podpisywania kodu w archiwum zip lub niepodpisanym obrazie dysku, ponieważ ścieżka środowiska uruchomieniowego nie jest znana przed środowiskiem uruchomieniowym.

Ponadto aplikacje działające w systemie macOS Sierra (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.

Ponieważ system macOS Sierra udostępnia te zmiany w systemie iOS 10, zobacz nasz przewodnik Ulepszenia zabezpieczeń i prywatności systemu iOS 10, aby uzyskać więcej informacji.

Obsługa rozszerzenia sterownika karty inteligentnej

W systemie macOS Sierra aplikacja może tworzyć NSExtension oparte sterowniki kart inteligentnych, które umożliwiają dostęp tylko do odczytu do zawartości z określonych typów kart inteligentnych. Te informacje są następnie prezentowane wewnątrz łańcucha kluczy systemowych (zastępując przestarzałą metodę Common Data Security Architecture).

Aby uzyskać więcej informacji, zobacz Dokumentacja platformy CryptoTokenKit firmy Apple.

Ujednolicone rejestrowanie

Ujednolicone rejestrowanie zapewnia aplikacji jeden interfejs API umożliwiający wydajne przesyłanie komunikatów na wszystkich poziomach systemu. Dzięki ujednoliconemu rejestrowaniu aplikacja ma precyzyjną kontrolę nad wieloma poziomami rejestrowania, które obejmują mechanizmy kontroli prywatności i śledzenie aktywności w celu łatwiejszego debugowania.

Rejestrowanie zapewnia automatyczną korelację komunikatów, gdy śledzenie aktywności i rejestrowanie są używane razem.

System macOS Sierra zawiera nową aplikację konsolową (w aplikacjach/narzędziach), która umożliwia wyświetlanie danych dziennika z wielu źródeł, w tym połączonych urządzeń. Obsługuje również tokenizowane i zapisane wyszukiwania oraz wyświetla połączenia między powiązanymi komunikatami w wielu procesach.

Ponadto komunikaty dzienników można wyświetlać i utrzymywać przy użyciu narzędzi wiersza polecenia.

Aby uzyskać więcej informacji, zobacz Dokumentację rejestrowania firmy Apple.

Szeroki zakres kolorów

macOS Sierra 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.

AppKit Ponadto zmodyfikowano pracę 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:

  • NSColor teraz używa przestrzeni kolorów sRGB i nie będzie już zaciskać wartości do 0.01.0 zakresu. Jeśli aplikacja opiera się na poprzednim zachowaniu zacisku, należy go zmodyfikować dla systemu macOS Sierra.
  • W przypadku korzystania z interfejsu API niskiego poziomu, takiego jak Core Graphics lub Metal w celu zapewnienia przetwarzania obrazów, aplikacja powinna używać rozszerzonej przestrzeni kolorów zakresu i formatu pikseli, który obsługuje 16-bitowe wartości zmiennoprzecinkowe. W razie potrzeby aplikacja będzie musiała 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 .

Dodatkowe zmiany struktury

Oprócz istotnych zmian w strukturze i dodatków wymienionych powyżej firma Apple wprowadziła wiele dodatkowych drobnych zmian w systemie macOS Sierra.

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 macOS Sierra:

  • Standardowy system plików HFS nie jest już obsługiwany.

Aby uzyskać pełną listę wycofań i zmian, zobacz dokumentację interfejsów API systemu macOS w wersji 10.12 firmy Apple.