2010-11-15 8 views
15

Actualmente estoy creando una aplicación en la que quiero que el usuario haga una copia de seguridad de sus archivos (plist + m4a). Comprimo los archivos y cambio la extensión a una personalizada (específicamente para mi aplicación, diga "* .MyBackup"). El usuario puede exportar por correo electrónico o compartir archivos con iTunes.Cómo registro un tipo de archivo personalizado en iOS

Ya he leído sobre CFBundleDocumentTypes pero realmente no entendí lo que tenía que hacer con ellos.

La parte en la que actualmente estoy estancado es cómo asociar mi extensión con mi aplicación. Si el usuario se envía un correo electrónico con el archivo "personalizado" en formato de archivo zip, se supone que podrá abrirlo con mi aplicación.

¿Cómo hago esto y qué es "UTExportedTypeDeclarations"?

+0

posible duplicado de [¿Cómo asocio tipos de archivo con una aplicación de iPhone?] (Http: // stackoverflow .com/questions/2774343/how-do-i-associate-file-types-with-a-iphone-application) –

Respuesta

28

Espero que esté bien si incluyo esa parte de mis proyectos info.plist sin mucha explicación adicional. Creo que es bastante fácil de entender.

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeIconFiles</key> 
     <array> 
      <string>Icon-iPad-doc320.png</string> 
      <string>Icon-iPad-doc.png</string> 
     </array> 
     <key>CFBundleTypeName</key> 
     <string>MyAppName File</string> 
     <key>CFBundleTypeRole</key> 
     <string>Viewer</string> 
     <key>LSHandlerRank</key> 
     <string>Owner</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <!-- my app supports files with my custom extension (see UTExportedTypeDeclarations) --> 
      <string>com.myurl.myapp.myextension</string> 
      <!-- and csv files. --> 
      <string>public.comma-separated-values-text</string> 
     </array> 
    </dict> 
</array> 



<key>UTExportedTypeDeclarations</key> 
<array> 
    <dict> 
     <key>UTTypeConformsTo</key> 
     <array> 
      <string>public.data</string> 
     </array> 
     <key>UTTypeDescription</key> 
     <string>MyAppName File</string> 
     <key>UTTypeIdentifier</key> 
     <string>com.myurl.myapp.myextension</string> 
     <key>UTTypeTagSpecification</key> 
     <dict> 
      <key>public.filename-extension</key> 
      <string>myextension</string> 
      <key>public.mime-type</key> 
      <string>application/octet-stream</string> 
     </dict> 
    </dict> 
</array> 
+0

¡¡¡Impresionante, funciona !! Gracias por la respuesta rápida ... – JNK

+0

Asegúrese de marcar la marca de verificación junto a la respuesta. –

+0

ahhh ... ok: Aún tengo un n00b completo: D – JNK

2

Salida /var/mobile/Library/Preferences/com.apple.LaunchServices.plist

Cuestiones relacionadas