Introduction à macOS Sierra
Avec le nouveau macOS Sierra, le développeur peut tirer parti des nouvelles API qui permettent à l’utilisateur final d’interagir avec ses applications et sites web de manière précédemment indisponible. Par exemple, Apple permet désormais aux sites web de donner aux clients la possibilité de payer en toute sécurité via Apple Pay et les améliorations apportées au framework Metal boostent le potentiel graphique et informatique d’une application.
Pour plus d’informations sur macOS Sierra, consultez la documentation macOS + Apps d’Apple.
Nouveautés de macOS Sierra
Apple a ajouté plusieurs nouvelles API et services dans macOS Sierra, ainsi que de nombreuses améliorations apportées aux fonctionnalités existantes, notamment :
Système de fichiers Apple
Avec macOS Sierra, Apple a publié le nouveau système de fichiers Apple en tant que système de fichiers moderne pour iOS, macOS, tvOS et watchOS. Le système de fichiers Apple a été optimisé pour le stockage Flash et SSD et fournit les fonctionnalités suivantes : chiffrement fort, métadonnées de copie en écriture, partage d’espace, clonage pour les fichiers et répertoires, instantané s, dimensionnement rapide des répertoires et primitives d’enregistrement sécurisé atomique.
Pour plus d’informations, consultez le Guide du système de fichiers Apple d’Apple.
Améliorations apportées à Apple Pay
Apple a apporté plusieurs améliorations à Apple Pay dans macOS Sierra qui permettent à l’utilisateur d’effectuer des paiements sécurisés à partir de sites web.
Avec macOS Sierra, plusieurs nouvelles API ont été ajoutées qui fonctionnent avec macOS Sierra, iOS et watchOS pour prendre en charge les réseaux de paiement dynamiques et un nouvel environnement de test de bac à sable.
macOS Sierra inclut le nouveau framework JavaScript ApplePay qui permet au développeur d’incorporer Apple Pay directement dans des sites web iOS et macOS Safari. Pour les sites web qui prennent en charge Apple Pay, l’utilisateur peut autoriser le paiement à l’aide de son i Téléphone ou d’Apple Watch.
Pour plus d’informations, consultez la référence applePay JS Framework d’ApplePay.
Création d’applications macOS modernes
Les applications macOS modernes telles que le navigateur web Safari d’Apple, le traitement de texte pages et la feuille de diffusion nombres utilisent de nombreuses nouvelles technologies pour présenter une interface utilisateur unifiée et contextuelle qui s’éloigne des éléments d’interface utilisateur traditionnels tels que les panneaux flottants et plusieurs fenêtres ouvertes.
Notre guide Building Modern macOS Apps couvre plusieurs conseils, fonctionnalités et techniques qu’un développeur peut utiliser pour créer une application macOS moderne dans Xamarin.Mac.
Partage de données CloudKit
Le framework CloudKit a été développé dans macOS Sierra pour permettre à l’utilisateur de partager rapidement et facilement des enregistrements ou des jeux d’enregistrements à partir de leurs bases de données iCloud privées.
CloudKit fournit une interface utilisateur complète pour l’envoi et l’acceptation d’invitations d’enregistrements partagés, et l’utilisateur dispose d’un contrôle en lecture/écriture complet sur les personnes qui ont accès aux enregistrements.
Pour plus d’informations, consultez la référence de CloudKit Framework d’Apple et la référence de CloudKit JS Framework.
Important
Apple fournit des outils pour aider les développeurs à gérer correctement le Règlement général sur la protection des données (RGPD) de l’Union européenne.
Prise en charge des extensions d’application Safari
Les extensions d’application Safari permettent à l’application d’étendre le comportement du navigateur web Safari tout en étant étroitement intégré à macOS Sierra. Étant donné que les extensions d’application Safari macOS fonctionnent comme les extensions d’application Safari iOS, elles sont faciles à porter d’un système à un autre.
Pour plus d’informations, consultez le Guide de programmation de l’extension d’application Safari d’Apple.
Améliorations de la sécurité et de la confidentialité
Apple a apporté plusieurs améliorations à la fois à la sécurité et à la confidentialité dans macOS Sierra qui aideront l’application à améliorer la sécurité de l’application et à garantir la confidentialité de l’utilisateur final, y compris les éléments suivants :
- La nouvelle
NSAllowsArbitraryLoadsInWebContent
clé peut être ajoutée au fichier deInfo.plist
l’application et autorisera les pages web à se charger correctement pendant que la protection ATS (Apple Transport Security) est toujours activée pour le reste de l’application. - L’API COMMON Data Security Architecture (CDSA) a été déconseillée et doit être remplacée par l’API SecKey pour générer des clés asymétriques.
- Pour toutes les connexions SSL/TLS, le chiffrement symétrique RC4 est désormais désactivé par défaut. En outre, l’API de transport sécurisé ne prend plus en charge SSLv3 et il est recommandé que l’application cesse d’utiliser le chiffrement SHA-1 et 3DES dès que possible.
- Étant donné que le nouveau Presse-papiers dans iOS 10 et macOS Sierra permet à l’utilisateur de copier et coller entre les appareils, l’API a été développée pour permettre à un Presse-papiers d’être limité à un appareil spécifique et d’être horodaté d’être effacé automatiquement à un point donné. En outre, les collages nommés ne sont plus persistants et doivent être remplacés par les conteneurs de collage partagés.
- Si l’application accède aux données protégées (telles que le calendrier de l’utilisateur), elle doit déclarer cette intention avec la clé de valeur de chaîne d’objectif correcte dans son
Info.plist
fichier (NSCalendarUsageDescription
dans le cas du calendrier). - Les applications signées par les développeurs qui ne sont pas fournies via le Mac App Store peuvent désormais tirer parti des droits CloudKit, iCloud Keychain, iCloud Drive, notifications Push à distance, MapKit et droits VPN.
- macOS Sierra ne prend plus en charge la distribution de code externe ou de données avec l’application signataire de code dans son archive zip ou son image de disque non signée, car le chemin d’exécution n’est pas connu avant l’exécution.
En outre, les applications s’exécutant sur macOS Sierra (ou version ultérieure) doivent déclarer statiquement leur intention d’accéder à des fonctionnalités spécifiques ou des informations utilisateur en entrant une ou plusieurs clés spécifiques à la confidentialité dans leurs Info.plist
fichiers qui expliquent à l’utilisateur pourquoi l’application souhaite accéder.
Étant donné que macOS Sierra partage ces modifications avec iOS 10, consultez notre guide des améliorations de la sécurité et de la confidentialité iOS 10 pour plus d’informations.
Prise en charge de l’extension du pilote de carte à puce
Avec macOS Sierra, l’application peut créer des NSExtension
pilotes de carte intelligents basés qui autorisent l’accès en lecture seule au contenu à partir de certains types de carte intelligentes. Ces informations sont ensuite présentées à l’intérieur du trousseau système (en remplaçant la méthode Common Data Security Architecture déconseillée).
Pour plus d’informations, Pleas consultez la référence du framework CryptoTokenKit d’Apple.
Journalisation unifiée
La journalisation unifiée fournit à l’application une SEULE API pour une messagerie efficace sur tous les niveaux du système. Avec la journalisation unifiée, l’application dispose d’un contrôle précis sur plusieurs niveaux de journalisation qui incluent des contrôles de confidentialité et le suivi des activités pour faciliter le débogage.
La journalisation fournit une corrélation automatique des messages lorsque le suivi des activités et la journalisation sont utilisés ensemble.
macOS Sierra inclut une nouvelle application console (dans applications/utilitaires) capable d’afficher les données de journal à partir de plusieurs sources, y compris les appareils connectés. Il prend également en charge les recherches par jetons et enregistrées et affiche les connexions entre les messages associés entre plusieurs processus.
En outre, les messages de journal peuvent être affichés et gérés à l’aide d’outils en ligne de commande.
Pour plus d’informations, consultez la référence de journalisation d’Apple.
Couleur à spectre large
macOS Sierra étend la prise en charge des formats de pixels étendus et des espaces de couleurs à large gamme dans le système, y compris les frameworks tels que Core Graphics, Core Image, Metal et AVFoundation. La prise en charge des appareils avec des écrans de couleur large est plus facile en fournissant ce comportement dans toute la pile graphique.
De plus, AppKit
il a été modifié pour fonctionner dans le nouvel espace de couleurs sRGB étendu, ce qui facilite la combinaison de couleurs dans des gamuts de couleurs larges sans perte de performances significative.
Apple offre les meilleures pratiques suivantes lors de l’utilisation de couleurs larges :
NSColor
utilise désormais l’espace de couleur sRGB et ne limite plus les valeurs à la0.0
1.0
plage. Si l’application s’appuie sur le comportement de pince précédent, elle doit être modifiée pour macOS Sierra.- Lorsque vous utilisez une API de bas niveau, telle que Core Graphics ou Metal, pour fournir un traitement d’image, l’application doit utiliser un espace de couleur de plage étendu et un format de pixel qui prend en charge les valeurs à virgule flottante 16 bits. Si nécessaire, l’application doit limiter manuellement les valeurs des composants de couleur.
- Les nuanceurs core Graphics, Core Image et Metal Performance Shaders fournissent toutes de nouvelles méthodes pour la conversion entre les deux espaces de couleur.
Pour en savoir plus, consultez notre guide d’introduction à la couleur large.
Modifications supplémentaires du framework
Outre les principales modifications et ajouts de framework répertoriés ci-dessus, Apple a apporté de nombreuses modifications mineures supplémentaires dans macOS Sierra.
Pour plus d’informations, consultez notre guide supplémentaire sur les modifications du framework.
API déconseillées
Les API suivantes ont été déconseillées dans macOS Sierra :
- Le système de fichiers STANDARD HFS n’est plus pris en charge.
Consultez la documentation Diffs de l’API macOS v10.12 d’Apple pour obtenir la liste complète des dépréciations et des modifications.