Istnieje aplikacja na iPhone'a "Another Mail Client", która powinna być w stanie otworzyć dowolny plik, aby wysłać go jako załącznik. Dlatego chcę powiązać tę aplikację z dowolnym plikiem z dowolnym rozszerzeniem.Jak powiązać aplikację na telefon iPhone z typem _every_?
Zgodnie z dokumentacją, powinniśmy zadeklarować obsługę plików z root-em typu UTI: public.data
- każdy plik powinien należeć do tego typu. Działa, ale wcale nie. W takim przypadku nasza aplikacja nie będzie mogła otworzyć żadnego pliku, ale tylko te, które zostały już zarejestrowane w systemie. Na przykład, jeśli w dowolnej aplikacji (np. Dropbox) spróbujemy "otworzyć w ..." pliku o nieznanym rozszerzeniu (file.unknowntype) za pomocą UIDocumentInteractionController, to odpowiedź będzie negatywna, pomimo faktu, że już mamy zarejestrował naszą aplikację i obsługuje root UTI-type public.data
. Ale jeśli zainstalujesz inną aplikację, która obsługuje pliki z rozszerzeniem (* .unknowntype), nasza aplikacja będzie również mogła otworzyć te pliki i pojawi się na liście aplikacji "otwórz w ...".
UPD: @Gabriel To CFBundleDocumentTypes częścią mojego Info.plist pliku:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>MyMail</string>
<key>LSItemContentTypes</key>
<array>
<string>public.data</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>CFBundleTypeIconFiles</key>
<array>
<string>Icon29.png</string>
...
<string>Icon114.png</string>
</array>
</dict>
</array>
Proszę, pokaż nam część CFBundleDocumentTypes twojego pliku info.plist. – Gabriel