Partager via


Introduction à iOS 9

Cet article présente toutes les API et fonctionnalités nouvelles et modifiées disponibles dans iOS 9 pour les développeurs Xamarin.iOS.

Logo iOS 9

Apple a ajouté plusieurs nouvelles API et services dans iOS 9, ainsi que de nombreuses améliorations apportées aux fonctionnalités existantes.

3D Touch

Nouveautés d’iOS 9 et i Téléphone 6 et i Téléphone 6s Plus, 3D Touch ajoute des mouvements sensibles à la pression à vos applications iOS. Avec 3D Touch, une application i Téléphone est désormais en mesure de ne pas seulement dire que l’utilisateur touche l’écran de l’appareil, il peut également sentir combien de pression l’utilisateur exerce et répond aux différents niveaux de pression.

3D Touch fournit les fonctionnalités suivantes à votre application :

  • Sensibilité à la pression : les applications peuvent désormais mesurer la manière dont l’utilisateur touche l’écran ou la lumière et tirer parti de ces informations. Par exemple, une application de peinture peut rendre une ligne plus épaisse ou plus mince en fonction de la façon dont l’utilisateur touche l’écran.
  • Aperçu et fenêtre contextuelle : votre application peut désormais permettre à l’utilisateur d’interagir avec ses données sans avoir à naviguer hors de son contexte actuel. En appuyant sur dur sur l’écran, ils peuvent consulter l’élément qui leur intéresse (par exemple, afficher un aperçu d’un message). En appuyant plus fort, ils peuvent entrer dans l’élément.
  • Actions rapides : envisagez des actions rapides comme les menus contextuels qui peuvent être affichés lorsqu’un utilisateur clique avec le bouton droit sur un élément d’une application de bureau. À l’aide d’Actions rapides, vous pouvez ajouter des raccourcis courants, rapides et faciles à accéder aux fonctions de votre application à partir de l’icône d’écran d’accueil sur l’appareil iOS.

Pour en savoir plus, consultez notre guide d’introduction à la touche 3D .

Sécurité de transport de l’application

Nouveautés d’iOS 9, App Transport Security (ATS) applique des connexions sécurisées entre les ressources Internet (comme le serveur principal de l’application) et votre application. ATS garantit que toutes les communications Internet sont conformes aux meilleures pratiques de connexion sécurisées, ce qui empêche la divulgation accidentelle d’informations sensibles directement via votre application ou une bibliothèque qu’elle consomme.

Étant donné que ATS est activé par défaut dans les applications créées pour iOS 9 et OS X 10.11 (El Capitan), toutes les connexions utilisant NSUrl Connecter ion, CFUrl ou NSUrlSession sont soumises aux exigences de sécurité ATS. Si vos connexions ne répondent pas à ces exigences, elles échouent avec une exception.

Pour en savoir plus sur ATS, consultez notre guide App Transport Security .

Multitâche pour iPad

Avec iOS 9, Apple a ajouté la prise en charge multitâche pour l’exécution de deux applications en même temps sur un matériel iPad spécifique. Par conséquent, vos applications Xamarin.iOS ne peuvent plus supposer qu’elles sont la seule application en cours d’exécution à un moment donné ou qu’elles ont accès à l’écran complet ou aux ressources de l’appareil.

Le multitâche pour iPad est pris en charge via les fonctionnalités suivantes :

  • Diapositive vers le haut : permet à l’utilisateur d’exécuter temporairement une deuxième application iOS dans un panneau de diapositive sortant (à droite ou à gauche de l’écran en fonction de la direction de la langue) qui couvre environ 25 % de l’application principale en cours d’exécution. Slide Over est disponible uniquement sur un iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 ou iPad Mini 4.
  • Mode fractionné - Sur le matériel iPad pris en charge (iPad Air 2, iPad Mini 4 et iPad Pro uniquement), l’utilisateur peut choisir une deuxième application et l’exécuter côte à côte avec l’application en cours d’exécution en mode fractionné. L’utilisateur peut contrôler le pourcentage de l’écran principal occupé par chaque application.
  • Image dans Image : pour les applications qui lisent du contenu vidéo, la vidéo peut désormais être lue dans une fenêtre déplaçable et redimensionnable qui flotte sur les autres applications en cours d’exécution sur l’appareil iOS. L’utilisateur a un contrôle total sur la taille et la position de cette fenêtre. L’image dans Image est disponible uniquement sur un iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 ou iPad Mini 4.

Pour en savoir plus sur les nouvelles capacités multitâche d’iOS 9, consultez notre guide multitâche pour iPad .

Nouveaux frameworks d’interface utilisateur contacts et contacts

Avec l’introduction d’iOS 9, Apple a publié deux nouvelles infrastructures, Contacts et ContactsUI, qui remplacent les frameworks existants du carnet d’adresses et de l’interface utilisateur du carnet d’adresses utilisés par iOS 8 et antérieurs.

Ces nouvelles infrastructures orientées objet fournissent les éléments suivants :

  • Contacts : fournit un accès Xamarin.iOS aux informations de contact de l’utilisateur. Étant donné que la plupart des applications nécessitent uniquement un accès en lecture seule, cette infrastructure a été optimisée pour l’accès thread sécurisé et en lecture seule.
  • ContactsUI : fournit des éléments d’interface utilisateur Xamarin.iOS pour afficher, modifier, sélectionner et créer des contacts sur des appareils iOS.

Pour plus d’informations, consultez notre documentation sur l’interface utilisateur contacts et contacts.

Nouvelles API de recherche

La recherche a été développée dans iOS 9 pour fournir de nouvelles façons d’accéder aux informations à l’intérieur de votre application Xamarin.iOS. À l’aide des nouvelles API de recherche, vous pouvez rendre le contenu de votre application pouvant faire l’objet d’une recherche par le biais des résultats de recherche Spotlight et Safari, des rappels et suggestions Siri. Cela permet aux utilisateurs d’accéder rapidement aux activités et aux informations détaillées au sein de votre application.

En outre, les nouvelles API de recherche facilitent l’intégration de la recherche dans votre application sans expérience préalable d’implémentation de recherche. En raison de cela, Apple affirme qu’il faut généralement quelques heures pour rendre le contenu d’une application iOS 9 universellement pouvant faire l’objet d’une recherche à l’aide de la recherche d’applications.

Pour plus d’informations, consultez notre documentation améliorations de recherche.

Nouvelle vue pile

Le contrôle Stack View (UIStackView tire parti de la puissance des classes de disposition et de taille automatiques pour gérer une pile de sous-vues (horizontalement ou verticalement) qui répond dynamiquement à l’orientation et à la taille de l’écran de l’appareil iOS.

En utilisant le contrôle Stack View, la quantité de travail nécessaire à la disposition d’une interface utilisateur est considérablement réduite. La disposition de toutes les sous-vues attachées à une vue stack est gérée automatiquement en fonction des propriétés définies par le développeur, telles que l’axe, la distribution, l’alignement et l’espacement.

Pour plus d’informations, consultez notre documentation Introduction à Stack View .

Modifications apportées à l’affichage collection

Dans iOS 9, l’affichage collection (UICollectionView prend désormais en charge la réorganisation des éléments hors de la zone en ajoutant un nouveau module de reconnaissance de mouvement par défaut et plusieurs nouvelles méthodes de prise en charge).

À l’aide de ces nouvelles méthodes, vous pouvez facilement implémenter un glisser-réorganiser dans votre vue collection et avoir la possibilité de personnaliser l’apparence des éléments pendant n’importe quelle étape du processus de réorganisation.

Pour en savoir plus sur les modifications apportées à la vue de collection pour iOS 9, consultez notre guide sur les modifications de la vue de collection.

Améliorations du jeu

Avec iOS 9, Apple a apporté plusieurs améliorations technologiques aux API de jeu qui facilitent l’implémentation de graphiques de jeu et d’audio dans votre application Xamarin.iOS. Celles-ci incluent la facilité de développement via des infrastructures de haut niveau et l’exploitation de la puissance du GPU de l’appareil iOS pour améliorer la vitesse et les capacités graphiques avec des améliorations de bas niveau.

Cela inclut GameplayKit, ReplayKit, Model I/O, MetalKit et Metal Performance Shaders, ainsi que de nouvelles fonctionnalités améliorées de Metal, SceneKit et SpriteKit.

Pour plus d’informations, consultez notre documentation améliorations de jeu.

Modifications de l’infrastructure HomeKit

L’infrastructure HomeKit , introduite dans iOS 8, offre la possibilité de configurer et de contrôler différents accessoires HomeKit activés (tels que les lumières automatisées, les verrous de porte et les ouvertures de porte de garage) à partir d’une application Xamarin.iOS. En plus d’être faciles à configurer et à configurer, les accessoires HomeKit peuvent être contrôlés via des commandes Siri parlées.

Dans iOS 9, Apple a simplifié la configuration, développé les types d’accessoires pris en charge et fourni plus d’interactions accessoires (comme contrôler un accessoire à distance via iCloud).

Pour plus d’informations, consultez notre présentation de HomeKit et de la documentation HomeKit d’Apple.

Modifications apportées à l’infrastructure de transfert

Le transfert (également appelé Continuité) a été introduit par Apple dans iOS 8 et OS X Yosemite (10.10) comme moyen pour l’utilisateur de démarrer une activité sur l’un de ses appareils (iOS ou Mac) et poursuivre cette même activité sur un autre de ses appareils (comme identifié par le compte iCloud de l’utilisateur).

Le transfert a été développé dans iOS 9 pour prendre également en charge de nouvelles fonctionnalités de recherche améliorées. Pour plus d’informations, consultez notre documentation améliorations de recherche. Pour plus d’informations sur l’utilisation de Handoff, consultez notre documentation Présentation de handoff .

Nouveaux points d'extension

Dans iOS 8, Apple a introduit des extensions ( bibliothèques présentées par le système d’exploitation dans des contextes standard, comme dans le Centre de notification, lorsque l’utilisateur demande un clavier ou lorsqu’il modifie une photo).

Avec iOS 9, Apple étend la prise en charge de l’extension en fournissant plusieurs nouveaux points d’extension qui définissent des stratégies d’utilisation et fournissent des API pour travailler dans une zone donnée comme suit :

  • Nouveau point d’extension d’unité audio : utilisez ce point d’extension pour fournir des effets audio, des instruments musicaux, des générateurs sonores, etc. pour une utilisation dans d’autres applications hôtes d’unité audio (comme GarageBand). Ce point d’extension vous permet également de vendre des unités audio (plug-ins audio) sur l’App Store.
  • Nouveau point d’extension maintenance d’index : utilisez ce point d’extension pour prendre en charge la réindexation des données d’application sans nécessiter de relance d’application.
  • Nouveaux points d’extension réseau (ceux-ci nécessitent une autorisation spéciale d’Apple) :
    • Extension du fournisseur de proxy d’application : utilisez ce point d’extension pour implémenter un proxy réseau transparent personnalisé côté client.
    • Filtrer Fournisseur de données/Extension du fournisseur de contrôle de filtre : utilisez ces points d’extension pour implémenter le filtrage de contenu réseau dynamique sur l’appareil.
    • Extension du fournisseur de tunnel de paquets : utilisez ce point d’extension pour implémenter un protocole de tunneling VPN personnalisé côté client.
  • Nouveaux points d’extension Safari :
    • Extension bloquante du contenu : utilisez ce point d’extension pour définir une liste de contenu bloqué qui ne s’affiche pas lorsque l’utilisateur navigue sur le web.
    • Extension liens partagés : utilisez ce point d’extension pour activer l’affichage du contenu de votre application dans les liens partagés de Safari.

Pour plus d’informations, consultez notre documentation Présentation des extensions et du Guide de programmation des extensions d’application d’Apple.

Améliorations apportées au trousseau

Dans iOS 9, Apple a amélioré le trousseau pour fournir un nouveau type de clé de chiffrement pour l’enclave sécurisée et d’autres options de protection des éléments comme suit :

  • Nouvelle contrainte Touch ID qui invalide les éléments du trousseau lorsque la base de données d’empreinte digitale est modifiée.
  • Nouvelles contraintes qui autorisent la création d’entrées de liste de contrôle d’accès avec l’ID tactile ou le code secret uniquement.
  • Nouveau contexte d’authentification qui vous permet d’appeler l’authentification distincte des SecItem appels.
  • Entropie de liste de contrôle d’accès (à l’aide de l’option Mot de passe d’application) pour le chiffrement d’élément de trousseau fourni par l’application.
  • Prise en charge de la génération et de l’utilisation de clés à l’intérieur de l’enclave sécurisée (via l’attribut kSecAttrTokenIDSecureEnclave ).

Pour plus d’informations, consultez Touch ID et Face ID dans Xamarin.iOS.

Prise en charge de la langue de droite à gauche

Dans iOS 9, Apple a rendu la présentation d’une interface utilisateur retournée plus facile que jamais en fournissant une prise en charge complète des langues de droite à gauche. Ce dernier est détaillé ci-après :

  • Les contrôles UIKit standard retournent automatiquement vers la gauche en fonction des paramètres régionaux et linguistiques des appareils iOS.
  • La classe UIView fournit des attributs qui vous permettent de définir la façon dont une vue donnée doit apparaître lorsqu’elle est retournée de droite à gauche.
  • Possibilité de retourner une image par programmation à l’aide de la propriété FlipsForRightToLeftLayoutDirection de la classe UIImage .

Pour plus d’informations, consultez la documentation relative aux langues de droite à gauche d’Apple.

Modifications supplémentaires du framework

Outre les principales modifications que nous avons abordées ci-dessus, Apple a apporté des modifications et des améliorations à plusieurs infrastructures existantes pour iOS 9, notamment les suivantes :

  • AV Foundation Framework
  • AVKit Framework
  • CloudKit Framework
  • Foundation Framework
  • Framework de transfert
  • HealthKit Framework
  • Infrastructure HomeKit
  • Infrastructure d’authentification locale
  • MapKit Framework
  • PassKit Framework
  • Safari Services Framework
  • UIKit Framework

Pour plus d’informations, consultez notre documentation supplémentaire sur les modifications du framework iOS 9.

API et fonctions déconseillées

Apple a déprécié les API et fonctions suivantes dans iOS 9 :

  • Interface utilisateur du carnet d’adresses et du carnet d’adresses : ces API ont été remplacées par les frameworks de l’interface utilisateur contact et contact. Pour plus d’informations, consultez notre documentation sur l’interface utilisateur contacts et contacts.
  • CBCentralManager - Les RetrievePeripherals méthodes et RetrieveConnectedPeripherals méthodes de la CBCentralManager classe ont été supprimées dans iOS 9. L’appel de ces méthodes entraîne un blocage d’une application lors du jumelage d’un accessoire ou lors du lancement de l’application.
  • FetchAllChanges : la FetchAllChangesCKFetchRecordChangesOperation classe a été dépréciée et sera supprimée dans iOS 9.
  • Lecteur multimédia - Le framework de Lecteur multimédia a été déconseillé dans iOS 9. Utilisez plutôt des API AVKit ou AV Foundation.

Pour obtenir la liste complète des dépréciations d’API spécifiques, consultez la documentation Diffs de l’API iOS 9.0 d’Apple.