2010-11-15 23 views
15

Aktualnie tworzę aplikację, w której chcę, aby użytkownik wykonał kopię zapasową swoich plików (plist + m4a). Zamontuję pliki i zmieniam rozszerzenie na niestandardowe (specjalnie dla mojej aplikacji, powiedz "* .MyBackup"). Użytkownik może następnie eksportować pocztą e-mail lub udostępnić pliki w iTunes.Jak zarejestrować niestandardowy typ pliku w iOS

Przeczytałem już o CFBundleDocumentTypes, ale tak naprawdę nie dostałem tego, co miałem z nimi zrobić.

Częścią, w której obecnie utknąłem, jest powiązanie mojego rozszerzenia z moją aplikacją. Jeśli użytkownik wyśle ​​wiadomość e-mail z "niestandardowym" plikiem -zip, powinien ją otworzyć przy użyciu mojej aplikacji.

Jak to zrobić i jakie są "UTExportedTypeDeclarations"?

+0

możliwe duplikat [W jaki sposób powiązać typy plików z aplikacji iPhone?] (Http: // stackoverflow .com/questions/2774343/how-do-i-associate-file-types-with-an-iphone-application) –

Odpowiedz

28

Mam nadzieję, że jest w porządku, jeśli zrzucę tę część mojego projektu info.plist bez dalszych wyjaśnień. Myślę, że jest to dość oczywiste.

<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

Fantastyczny, działa !! Dziękujemy za szybką odpowiedź ... – JNK

+0

Pamiętaj, aby zaznaczyć znacznik wyboru obok odpowiedzi. –

+0

ahhh ... ok: Pełen kompletny n00b: D – JNK

2

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