2013-02-08 2 views
0

Я зарегистрировал свое приложение, чтобы открыть все типы документов, и это работает отлично, но я не могу заставить его работать с изображениями, и он не отображается в PhotoAlbum, но мое приложение появляется в сафари и сафари может отправить мне Открытый запрос на открытие определенных файлов.UIT не применяется к фотоальбому

любая подсказка?

здесь мой Plist изменение:

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeName</key> 
     <string>PDF Document</string> 
     <key>LSHandlerRank</key> 
     <string>Default</string> 
     <key>CFBundleTypeRole</key> 
     <string>Viewer</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>public.content</string> 
      <string>public.item</string> 
      <string>public.data</string> 
      <string>public.image</string> 
     </array> 
    </dict> 
</array> 

ответ

0

Вы путаете OSX и IOS ключи. Например, CFBundleTypeRole - это OSX-ключ, не используемый в iOS.

Вот хорошее описание CFBundleDocumentTypes ключа из документации:

CFBundleDocumentTypes

CFBundleDocumentTypes (Array - IOS, OS X) содержит массив словарей, ассоциировать> один или несколько типы документов с вашим приложением. Каждый словарь называется словарем определения типа и содержит ключи, используемые для определения типа документа. В таблице 2 перечислены ключи, которые поддерживаются в этих словарях. Дополнительные сведения о указании типов поддерживаемых приложений см. В разделе «Хранение информации о типах документов в списке свойств приложения».

Вы должны предоставить одну запись в массиве CFBundleDocumentTypes для каждого типа документа. В настоящее время у вас есть только одна запись, которую вы назвали PDF-документами. Массив под LSItemContentTypes действительно предназначен для различных «расширений» одного конкретного типа документа. Прочтите это описание из документации:

Этот ключ содержит массив строк. Каждая строка содержит UTI, определяющий поддерживаемый тип файла. Строка UTI должна быть явно указана, в отличие от использования одной из констант, определенных в Launch Services. Например, чтобы поддерживать файлы PNG, вы должны включить в массив строку public.png. При использовании этого ключа также добавьте ключ NSExportableTypes с соответствующими записями.

В заключение вы должны вставить новый словарь определения типа для изображений в массив CFBundleDocumentTypes.

Читать все о деталях here.

+0

Я убедился, что это невозможно, есть и другие вопросы SOF, которые говорят вам, что ваше приложение не отображается в фотоальбоме. –