Существует приложение iPhone "Другой почтовый клиент", который должен иметь возможность открывать любой файл для отправки его в виде вложения. Итак, я хочу связать это приложение с любым файлом с любым расширением.
Следуя документации, мы должны объявить о поддержке файлов с корневым UTI-типом public.data
- любой файл должен принадлежать этому типу. Это работает, но совсем нет. В этом случае наше приложение не сможет открыть какой-либо файл, а только те, которые уже зарегистрированы в системе. Например, если в любом приложении (например, dropbox) мы попытаемся "открыть в..." файл с неизвестным расширением (file.unknowntype) с помощью UIDocumentInteractionController, тогда ответ будет отрицательным, несмотря на то, что мы уже зарегистрировало наше приложение и поддерживает корневой UTI-тип public.data
. Но если вы устанавливаете другое приложение, которое поддерживает файлы с расширением (*.unknowntype), то наше приложение также сможет открыть эти файлы и появится в списке приложений "открыть в...".
UPD: @Gabriel Это часть CFBundleDocumentTypes моего файла info.plist:
<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>