developpement iphone, application iphone, developpement application iphone
Quand il le faut une application iPhone peut créer et sauvegarder des données dans des fichiers. L’exemple type du fichier créé est sauvegardé, est le fichier .doc qui peut être généré et édité grâce à l’application Office2. Chaque application dispose ainsi d’un espace (on appelle ça sandbox ou pourrait dire un silo en français), réservé à l’application, où celle-ci peut sauvegarder ses fichiers. L’accès d’une autre application (B) aux fichiers de l’application (A) sauvegardés dans le Silo de A est donc impossible.
De même, ordinairement, les applications ne peuvent pas communiquer entre elle. C’est à dire, qu’une application A ne peut pas lancer une autre application B et encore moins lui transmettre un message.
Ceci réduit donc fortement la possiblité d’interaction entre applications sur un même devise.
TOUTEFOIS, certains mécanismes permettent d’implémenter ces deux fonctionnalités (envoi de messages entre applications et transmission de fichiers.)
Techniquement, l’envoi de message s’appelle “url scheme” et la transmission de fichiers .
Transmission de fichiers
La transmission de fichiers a été introduite dans l’OS 3.2 (iPad) et puis a été conservé dans les versions suivantes de l’OS. Il se présente à l’utilisateur sous la forme d’un bouton “ouvrir avec…” qui permet à l’utilisateur d’ouvrir dans une application “B” un fichier qu’il était en train d’éditer dans une application “A”.
Concrètement, il faut que le développeur prévoie cette fonctionnalité au moment de produire son application. Alors, il implémente un code qui permet à son application (l’application X) de “déclarer” au système d’exploitation qu’elle est capable de gérer un format de fichier donné (par exemple de type FORM). Suite à cela, et quand un utilisateur lance le bouton “ouvrir dans…” sur un fichier de type FORM, et ce, à partir de n’importe quelle application, l’application X figure sur une liste d’applications “Compétentes” pour réceptionner une Copie du fichier en question.
Peut-on parler de partage de fichier ?
techniquement non. Car le mécanisme permet d’envoyer une copie d’une application A vers une appliation B. Alors qu’un partage devrait permettre aux applications de travailler à tour de rôle voir simultanément sur le même fichier sans forcer l’utilisateur à gérer des copies des effacements d’anciennes versions etc …
Ceci étant, l’utilisateur pourrait simulé un partage de fichier, en utilisant une application de stockage du type “usb disque” pour la sauvegarde des fichiers créés et édités dans différentes applications.
Par exemple, un fichier est créé dans office2 ; une fois terminé il est “ouvert dans” l’applicatoin usb disque (qui le sauvegarde donc); l’utilisateur le supprime ensuite d’office2 pour éviter les doublons. Quand, ultérieurement, le besoin se ressent d’éditer le fichier en question, aussi bien dans dans office2 que dans une application Y ou Z, l’utilisateur démarre l’application “usb disk”, accède au fichier en question puis lance l’action “ouvrir dans” et choisit “office2” ou bien Y ou bien Z.
Envoi de messages ?
L’envoi de message est rendu possible par un outil appelé l’url scheme.
En bref, le développeur d’une application A définit un protocole (ou bien une manière convenu d’avance, un format convenu d’avance) de messages que son application peut accepter.
Ce protocole est enregistré dans l’application auprès de l’OS. A partir de ce moment, toute application peut envoyer un message à l’application “A” à condition que celui-ci obéisse dans son format au protocole prévu.
Par exemple l’application BAZAR prévoit de pouvoir recevoir des messages ayant le format suivant : bazar://nomapplication?param1¶m2.
Dans ce cas, si une application X, Y ou Z souhaite lancer l’application BAZAR tout en lui envoyant un nombre de paramètres, elle n’a qu’à utiliser l’outil openURL pour envoyer un message sous la forme bazar://nomapp?achat=2&prix=4. Ainsi, l’applicatoin BAZAR recevra le message et pourra en disposer soit pour stocker les données, soit pour les utiliser à la volée, etc …
Les sections de la documentation d’apple traitant de ces sujets et de leur implémentation technique sont : (programming guide).
- Doc1.
- Doc2.