2015-08-19 1 views
0

Je suis nouveau dans le développement iOS. J'ai conçu une pièce jointe personnalisée pour envoyer par courrier. Lorsque je reçois la pièce jointe par courrier, je veux ouvrir la pièce jointe dans mon application. Voici mon info.plistassocier les types de fichiers avec l'application iOS dans swift

<key>UTExportedTypeDeclarations</key> 
<array> 
    <dict> 
     <key>UTTypeConformsTo</key> 
     <array> 
      <string>public.data</string> 
     </array> 
     <key>UTTypeDescription</key> 
     <string>pvt file</string> 
     <key>UTTypeIdentifier</key> 
     <string>com.pryvateBeta.crypt.pvt</string> 
     <key>UTTypeTagSpecification</key> 
     <dict> 
      <key>public.filename-extension</key> 
      <string>pvt</string> 
     </dict> 
    </dict> 
</array> 
<key>CFBundleDocumentsType</key> 
<array> 
    <dict> 
     <key>CFBundleTypeIconFiles</key> 
     <array/> 
     <key>CFBundleTypeName</key> 
     <string>pvt file</string> 
     <key>CFBundleTypeRole</key> 
     <string>Viewer</string> 
     <key>LSHandlerRank</key> 
     <string>Owner</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>com.pryvateBeta.crypt.pvt</string> 
     </array> 
    </dict> 
</array> 

Et voici mon Appdelegate

func application(application: UIApplication, openURL Url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool { 
    let encrypteddata = NSData(contentsOfURL: Url) 


    return true 
} 

J'ai posé la question avant dans ce LINK. C'était une copie possible de ceci QUESTION. Mais je n'ai pas trouvé la solution et je n'ai pas pu trouver le problème.

Que manque-t-il dans mon code? Toute aide est appréciée

+0

Utilisez l'onglet Infos de l'éditeur de cible d'application pour configurer vos types de document et les UTI exportés. Il va configurer l'Info.plist correctement. – matt

+0

Y a-t-il quelque chose qui manque dans le plist? Pour que je puisse l'ajouter de la façon dont vous l'avez mentionné @matt –

Répondre

2

Essayez ceci. J'ai copié et collé le code ur dans mon plist et il ne fonctionne pas. alors j'ai créé une autre plist et son code est comme ci-dessous. et son fonctionnement

 <key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>com.pryvateBeta.crypt.pvt</string> 
     </array> 
     <key>CFBundleTypeRole</key> 
     <string>Viewer</string> 
     <key>CFBundleTypeName</key> 
     <string>pvt file</string> 
     <key>LSHandlerRank</key> 
     <string>Owner</string> 
    </dict> 
</array> 
<key>UTExportedTypeDeclarations</key> 
<array> 
    <dict> 
     <key>UTTypeConformsTo</key> 
     <array> 
      <string>public.data</string> 
     </array> 
     <key>UTTypeIdentifier</key> 
     <string>com.pryvateBeta.crypt.pvt</string> 
     <key>UTTypeTagSpecification</key> 
     <dict> 
      <key>public.mime-type</key> 
      <string>application/pry</string> 
      <key>public.filename-extension</key> 
      <string>pvt</string> 
     </dict> 
    </dict> 
</array> 
+0

Malheureusement, pas encore de modifications @Shebin –

+0

Que contient vraiment ? Est-ce que ce devrait être l'extension Bundle ID +? –

+0

@MohammedJanish j'ai édité ma réponse ... jetez un oeil –