Introduction à iOS 8

Avec iOS 8, Apple a fourni une pléthore de nouvelles infrastructures et API pour exciter et ravir les développeurs. Dans ce guide, nous allons présenter ces nouvelles API et voir comment iOS 8 peut bénéficier aux développeurs et aux utilisateurs.

iOS 7 a visuellement changé toute l’interface utilisateur iOS par rapport à ce que les utilisateurs et les développeurs attendaient, dès le premier système d’exploitation iPhone. IOS 8 continue avec cela en fournissant de nombreuses infrastructures pour les développeurs, ce qui permet aux utilisateurs de contrôler presque tous les aspects de leur vie directement à partir de leur iPhone. Par exemple, l’intégrité et la condition physique peuvent être analysées avec HealthKit, les codes secrets sont obsolescents avec l’authentification biométrique à l’aide de l’authentification locale, les extensions d’application ouvrent un canal de communication entre les applications tierces et HomeKit permet de transformer votre maison en une maison de l’avenir.

Si iOS 7 visait à ravir les utilisateurs, iOS 8 se concentre sur la satisfaction des développeurs avec toute une gamme de ces nouveaux outils savoureux.

Ce guide présente les nouvelles API pour les développeurs Xamarin.iOS.

Il existe également quelques API dépréciées dans iOS 8, qui sont détaillées à la fin de ce document.

Spécifications

Les éléments suivants sont nécessaires pour créer des applications iOS 8 dans Visual Studio pour Mac :

  • Xcode 7 et iOS 8 ou version ultérieure : les dernières API Xcode et iOS d’Apple doivent être installées et configurées sur l’ordinateur du développeur.
  • Visual Studio pour Mac : la dernière version de Visual Studio pour Mac doit être installée et configurée sur l’appareil utilisateur.
  • Appareil ou simulateur iOS 8 : appareil iOS exécutant la dernière version d’iOS 8 à des fins de test.

Maison et loisirs

iOS 8 a aidé à planter apple, et l’appareil iOS directement dans le cœur de votre maison grâce à l’utilisation de HomeKit et HealthKit. Dans cette section, nous allons voir comment ces nouvelles infrastructures fonctionnent et comment elles peuvent être intégrées à votre application Xamarin.iOS.

HomeKit

Contrôler vos appareils à partir de votre iPhone n’est pas une nouvelle application de la technologie; De nombreux produits domestiques connectés peuvent être contrôlés via une application iOS. Toutefois, HomeKit va maintenant plus loin en faisant la promotion d’un protocole commun pour les appareils domotiques et en mettant une API publique à la disposition de certains fabricants, tels que iHome, Philips et Honeywell. Pour l’utilisateur, cela signifie qu’il peut contrôler presque tous les aspects de sa maison en toute transparence à partir d’une application. Il n’est pas pertinent pour eux de savoir qu’ils utilisent une ampoule Philips Hue, ou une alarme Nest. Les utilisateurs peuvent également chaîner de nombreux processus de maison intelligente dans des « Scènes ».

Avec HomeKit, les applications tierces et Siri peuvent découvrir des accessoires et les ajouter à leur base de données de configuration personnelle, modifier et agir sur ces données, et communiquer avec les accessoires et leurs services pour effectuer une action.

Configuration

Le diagramme ci-dessous montre la hiérarchie de base de la configuration des accessoires HomeKit :

Ce diagramme montre la hiérarchie de base de la configuration des accessoires HomeKit

Pour commencer à utiliser HomeKit, les développeurs doivent s’assurer que le service HomeKit est sélectionné dans leur profil d’approvisionnement. Apple a également fourni aux développeurs un complément de simulateur HomeKit pour Xcode. Vous pouvez le trouver dans le Centre de développement Apple, sous Hardware IO Tools for Xcode.

Pour plus d’informations, consultez notre guide HomeKit .

HealthKit

HealthKit est une infrastructure introduite dans iOS 8 qui fournit un magasin de données centralisé, coordonné et sécurisé pour les informations relatives à l’intégrité. Le système d’exploitation garantit la confidentialité et la sécurité des informations d’intégrité et, avec l’application Intégrité, un tableau de bord pour l’utilisateur. Avec l’autorisation de l’utilisateur, les applications peuvent lire et écrire un large éventail d’informations sur la santé.

Pour plus d’informations sur son utilisation dans votre application Xamarin.iOS, reportez-vous au guide Présentation de HealthKit .

Extension des fonctionnalités de l’iPhone

Avec iOS8, les développeurs disposent d’un contrôle beaucoup plus grand sur les utilisateurs autorisés à utiliser leur application, et d’une capacité accrue pour une communication plus ouverte entre les applications tierces. Les fonctionnalités telles que les extensions d’application et le sélecteur de documents ouvrent un monde de possibilités pour la façon dont les applications peuvent être utilisées dans l’écosystème d’Apple.

Extensions d’application

Les extensions d’application, pour simplifier, sont un moyen pour les applications tierces de communiquer entre elles. Pour maintenir des normes de sécurité élevées et maintenir l’intégrité des applications bac à sable (sandbox), cette communication ne se produit pas directement entre les applications. Au lieu de cela, elle est effectuée par une extension au milieu.

La première étape de la création d’une extension d’application consiste à définir le point d’extension approprié, ce qui est important pour garantir le comportement et la disponibilité des API appropriées. Pour créer une extension d’application dans Visual Studio pour Mac, ajoutez-la à une application existante en ajoutant un nouveau projet à votre solution.

Dans la boîte de dialogue Nouveau projet , accédez à C#>iOS>Unified API>Extensions, comme illustré dans la capture d’écran ci-dessous :

Création d’une extension

La boîte de dialogue Nouveau projet fournit sept nouveaux modèles de projet pour la création d’extensions d’application et sont décrits ci-dessous. Notez que de nombreuses extensions sont liées à d’autres nouvelles API dans iOS, telles que le Sélecteur de documents :

  • Action : permet aux développeurs de créer des boutons d’action personnalisés uniques permettant aux utilisateurs d’effectuer certaines tâches
  • Clavier personnalisé : cela permet aux développeurs d’ajouter à la gamme de claviers Apple intégrés en ajoutant leur propre clavier personnalisé. Le clavier populaire, Swype l’utilise pour apporter son clavier à iOS.
  • Sélecteur de documents : contient un contrôleur d’affichage du sélecteur de documents qui permet aux utilisateurs d’accéder aux fichiers en dehors du bac à sable de l’application.
  • Fournisseur de fichiers du sélecteur de documents : fournit un stockage sécurisé pour les fichiers à l’aide du sélecteur de documents.
  • Édition de photos : cela s’étend sur les filtres et les outils d’édition déjà fournis par Apple dans l’application Photos pour donner aux utilisateurs plus de contrôle et plus d’options lors de la modification de leurs photos.
  • Aujourd’hui : les applications peuvent ainsi afficher des widgets dans la section Aujourd’hui du Centre de notifications.

Pour plus d’informations sur l’utilisation des extensions d’application dans Xamarin, reportez-vous au guide Présentation des extensions d’application .

Touch ID

Touch ID a été introduit dans iOS 7 comme un moyen d’authentification de l’utilisateur, similaire à un code secret. Toutefois, il était limité au déverrouillage de l’appareil, à l’utilisation de la App Store, à l’utilisation d’iTunes et à l’authentification de l’keychain iCloud uniquement

Il existe maintenant deux façons d’utiliser Touch ID comme mécanisme d’authentification dans les applications iOS 8 à l’aide de l’API d’authentification locale. Il n’est actuellement pas possible d’utiliser l’authentification locale pour s’authentifier à distance.

Tout d’abord, il aide les services de trousseau existants grâce à l’utilisation de nouvelles listes de Access Control de trousseau (ACL). Les données du trousseau peuvent être déverrouillées avec l’authentification réussie d’une empreinte digitale de l’utilisateur.

Deuxièmement, LocalAuthentication fournit deux méthodes pour authentifier votre application localement. Les développeurs doivent utiliser CanEvaluatePolicy pour déterminer si l’appareil est capable d’accepter Touch ID, puis EvaluatePolicy pour démarrer l’opération d’authentification.

Pour plus d’informations sur Touch ID et pour savoir comment l’intégrer à une application Xamarin.iOS, consultez Les guides Touch ID et Face ID dans Xamarin.iOS .

Sélecteur de document

Le sélecteur de documents fonctionne avec un lecteur iCloud d’utilisateurs pour permettre à l’utilisateur d’ouvrir des fichiers qui ont été créés dans une autre application, de les importer et de les manipuler et de les exporter à nouveau. Cela crée un flux de travail intuitif, et donc une bien meilleure expérience, pour les utilisateurs. La synchronisation iCloud va encore plus loin : toutes les modifications apportées dans une application seront également reflétées de manière cohérente sur tous vos appareils.

Pour en savoir plus sur le sélecteur de documents et savoir comment l’intégrer dans une application Xamarin.iOS, reportez-vous au guide Présentation du sélecteur de documents.

Handoff

Handoff, qui fait partie de la plus grande fonctionnalité de continuité, fait un pas de plus vers l’intégration d’OS X et d’iOS. Cela inclut AirDrop multiplateforme, la possibilité de prendre des appels iPhone, des SMS sur iPad et Mac, et des améliorations de l’attachement à partir de votre iPhone.

Handoff fonctionne avec iOS 8 et Yosemite, et nécessite qu’un compte iCloud soit connecté à tous les différents appareils que vous souhaitez utiliser. Il doit fonctionner avec la plupart des applications Apple préinstallées, notamment Safari, iWork, Cartes, Calendriers et Contacts.

Pour plus d’informations, consultez notre guide de transfert .

Storyboards unifiés

iOS 8 inclut un nouveau mécanisme plus simple à utiliser pour créer l’interface utilisateur : le storyboard unifié. Avec un storyboard unique pour couvrir toutes les différentes tailles d’écran matérielles, des vues rapides et réactives peuvent être créées dans un véritable style « design once, use many ».

Avant iOS8, les développeurs faisaient UIInterfaceOrientation la distinction entre les modes portrait et paysage et UIInterfaceIdiom les appareils iOS. Dans iOS8, il n’est plus nécessaire de créer des storyboards distincts pour les appareils iPhone et iPad. L’orientation et l’appareil sont déterminés à l’aide de classes de taille.

Chaque appareil est défini par une classe de taille, dans l’axe vertical et horizontal, et il existe deux types de classes de taille dans iOS 8 :

  • Standard : il s’agit d’un écran de grande taille (comme un iPad) ou d’un gadget qui donne l’impression d’une grande taille (par exemple, un UIScrollView).
  • Compact : il s’agit d’appareils plus petits (comme l’iPhone). Cette taille prend en compte l’orientation de l’appareil.

Si les deux concepts sont utilisés ensemble, le résultat est une grille de 2 x 2 qui définit les différentes tailles possibles qui peuvent être utilisées dans les deux orientations différentes, comme illustré dans le diagramme suivant :

Diagramme représentant la grille 2 x 2 qui définit les différentes tailles possibles qui peuvent être utilisées dans les deux orientations différentes

Pour plus d’informations sur les classes de taille, reportez-vous à la présentation des storyboards unifiés.

Photo Kit

Photo Kit est une nouvelle infrastructure qui permet aux applications d’interroger la bibliothèque d’images système et de créer des interfaces utilisateur personnalisées pour afficher et modifier son contenu. Il comprend un certain nombre de classes qui représentent des ressources image et vidéo, ainsi que des collections de ressources telles que des albums et des dossiers.

Pour plus d’informations, consultez notre guide PhotoKit .

Jeux

Kit de scène

Scene Kit est une API de graphe de scènes 3D qui simplifie l’utilisation des graphiques 3D. Il a été introduit pour la première fois dans OS X 10.8 et est maintenant disponible sur iOS 8. Avec Scene Kit, la création de visualisations 3D immersives et de jeux 3D occasionnels ne nécessite pas d’expertise en OpenGL. En s’appuyant sur les concepts courants du graphique de scène, Scene Kit extrait les complexités d’OpenGL et d’OpenGL ES, ce qui facilite l’ajout de contenu 3D à une application. Toutefois, si vous êtes un expert OpenGL, Scene Kit offre également un excellent support pour la liaison directe avec OpenGL. Il comprend également de nombreuses fonctionnalités qui complètent les graphiques 3D, tels que la physique, et s’intègre très bien à plusieurs autres frameworks Apple, tels que Core Animation, Core Image et Sprite Kit.

Pour plus d’informations, consultez notre documentation SceneKit .

Sprite Kit

Sprite Kit, le framework de jeu 2D d’Apple, offre de nouvelles fonctionnalités intéressantes dans iOS 8 et OS X Yosemite. Il s’agit notamment de l’intégration à Scene Kit, de la prise en charge des nuanceurs, de l’éclairage, des ombres, des contraintes, de la génération de cartes normales et des améliorations de la physique. En particulier, les nouvelles fonctionnalités physiques permettent d’ajouter très facilement des effets réalistes à un jeu.

Pour plus d’informations, consultez notre documentation SpriteKit .

Autres modifications

Outre les modifications majeures apportées à iOS 8 décrites ci-dessus, Apple a également mis à jour de nombreuses infrastructures existantes. Ces informations sont détaillées ci-dessous :

  • Core Image : Apple a étendu son infrastructure de traitement d’images en ajoutant une meilleure prise en charge de la détection des régions rectangulaires et des codes QR à l’intérieur des images. Mike Bluestein explore cela dans son billet de blog intitulé Détection d’image dans iOS 8

API déconseillées

Avec toutes les améliorations apportées à iOS 8, un certain nombre d’API ont été dépréciées. Certaines d’entre elles sont détaillées ci-dessous.

  • UIApplication : les méthodes et propriétés utilisées pour l’inscription des notifications à distance sont dépréciées. Il s’agit de registerForRemoteNotificationTypes et enabledRemoteNotificationTypes.

  • UIViewController : les caractéristiques et les classes de taille ont remplacé les méthodes et propriétés utilisées pour décrire l’orientation de l’interface. Pour plus d’informations sur leur utilisation, consultez Présentation des storyboards unifiés .

  • UISearchDisplayController : il a été remplacé par UISearchController dans iOS8.

Résumé

Dans cet article, nous avons examiné certaines des nouvelles fonctionnalités introduites par Apple dans iOS 8.