2010-08-04 9 views
8

J'ai vu certaines applications iOS avoir cette fonction: Lorsqu'un utilisateur essaie d'ouvrir une pièce jointe, il peut appuyer longuement sur sur la pièce jointe pendant quelques secondes, et un menu contextuel apparaîtra affichant deux boutons. Un bouton lit "Ouvrir dans iBooks" (par exemple). Lorsque l'utilisateur clique dessus, l'application est exécutée et ouvre la pièce jointe.Comment afficher "Ouvrir dans ..." lorsqu'un utilisateur essaie d'ouvrir des pièces jointes dans iOS

Je voudrais savoir comment enregistrer mon application pour qu'elle soit associée à un type de document particulier.

Que devient le document lorsqu'il est ouvert? Est-il copié à un emplacement qui peut être lu par l'application, ou l'application reçoit-elle une sorte d'objet représentant le document?

Si quelqu'un sait comment faire cela, s'il vous plaît faites le moi savoir. Merci beaucoup.

Répondre

13

Votre application doit register its ability to open specific file types en réglant le CFBundleDocumentTypes dans son plist. Voici un exemple de GoodReader's XML for opening PDFs.

Lorsque vous est l'application called to open a file, vous pouvez trouver les informations sur le fichier dans application:didFinishLaunchingWithOptions:, qui est passé un dictionnaire avec la UIApplicationLaunchOptionsURLKey clé

Vous obtiendrez une URL pointant vers le fichier à ouvrir. Je pense que c'est en lecture seule et vous devrez sauvegarder votre propre version si vous voulez le changer.