Мне нужно выполнить опцию «Открыть в» для файла с расширением .sav через приложение iOS.

На устройствах iOS приложение «Почта» предлагает опцию «Открыть в…» для вложений. Перечисленные приложения зарегистрировали свои CFBundleDocumentTypes в ОС. Благодаря этому я должен открыть файл SPSS (расширение .sav) в своем приложении. Как бы я этого добился?

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>.SAV</string>
        </array>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>SPSS</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array/>

Спасибо


person Nishi    schedule 19.03.2013    source источник


Ответы (2)


Info.plist вашего приложения — это место для добавления этого ключа. Вы можете узнать о том, как работает этот plist, в Справочник по ключевым свойствам списка свойств

person Chris Trahey    schedule 20.03.2013
comment
Я отредактировал свой вопрос. Я использую этот список. Но проблема в том, что файл .sav не поддерживается браузером, когда я пытаюсь открыть файл .sav, я получаю сообщение об ошибке, и у меня нет опции «Открыть в» для моего приложения, тогда как я могу это проверить? - person Nishi; 20.03.2013
comment
Привет ctrahey Есть ли способ, чтобы я мог открыть любой файл расширения, например, когда пользователь зажимает прикрепленный файл, он всегда видит опцию почты. - person Nishi; 20.03.2013
comment
Файл сохранения SPSS представляет собой двоичный формат. Вы не можете открыть его и прочитать что-либо полезное без программного обеспечения, которое знает этот формат. Существуют инструменты для создания такого приложения, но, насколько я знаю, никто не делал этого для IOS. - person JKP; 20.03.2013

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>SPSS</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.item</string>
        </array>

Используя public.item, я нашел свое решение

person Nishi    schedule 21.03.2013