Почему я не могу зарегистрировать приложение iOS для обработки типа файла изображения?
у меня проблема с регистрацией изображения в моем приложении. Я попытался добавить код ниже в мой plist, но ничего не происходит.
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>Scary Bug Document</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>LSItemContentTypes</key>
<array>
<string>public.image</string>
</array>
</dict>
</array>
Я заметил, что я могу зарегистрироваться для других типов файлов, таких как текст (изменение public.image
to public.text
), но он просто не будет работать с изображениями ("Open In .."меню не показывает мое приложение).
что может быть причиной этого, и как я могу это исправить?
7 ответов
теперь можно открывать изображения из почтового приложения в iOS 7, это просто несколько запутанно:
нажмите и удерживайте изображение. Нажмите на быстрый взгляд, чтобы изображение стало полноэкранным. Коснитесь изображения, чтобы отобразить верхнюю панель инструментов. Нажмите кнопку Открыть в правом верхнем углу. Прокрутите список и найдите свое приложение.
Не забудьте настроить типы документов пакета для типов изображений, которые вас интересуют.
Dimitri Bouniol ответ, что он работает в iOS 7 через быстрый взгляд, является правильным. Следующие дополнения к my in info.plist ниже, как я получил его, чтобы работать для моего приложения. До сих пор не выяснили, как получить долю в фотографиях или рулон камеры для работы.
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>myapp image</string>
</array>
<key>CFBundleTypeName</key>
<string>public.png</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>public.png</string>
<string>public.jpeg</string>
</array>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.image</string>
</array>
<key>UTTypeIdentifier</key>
<string>public.png</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>PNG</string>
<key>public.filename-extension</key>
<array>
<string>png</string>
</array>
<key>public.mime-type</key>
<string>image/png</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>public.jpeg</string>
<key>UTTypeReferenceURL</key>
<string>http://www.w3.org/Graphics/JPEG/</string>
<key>UTTypeDescription</key>
<string>JPEG image</string>
<key>UTTypeIconFile</key>
<string>public.jpeg.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.image</string>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>JPEG</string>
<key>public.filename-extension</key>
<array>
<string>jpeg</string>
<string>jpg</string>
</array>
<key>public.mime-type</key>
<string>image/jpeg</string>
</dict>
</dict>
</array>
попробуй:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>Scary Bug Document</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>LSItemContentTypes</key>
<array>
<string>public.png</string>
<string>public.jpg</string>
</array>
</dict>
</array>
а также в другого ответа на StackOverflow
после проведения небольшого исследования кажется, что невозможно зарегистрировать приложение для изображений. Спасибо за ответы.
общественности.изображение является абстрактным типом, попробуйте зарегистрироваться для общественности.png или общественности.форматы JPEG и т. д.
OS не позволит вам открывать изображения в вашем приложении. Я также попробовал много перестановок и комбинаций и подтвердил еще несколько сообщений в поддержке Apple.
в документации Apple", чтобы добавить тип документа, сделайте следующее:
- нажмите на кнопку раскрытия для типов документов, чтобы открыть типы документов.
- В разделе" типы " заполните UTI для нового типа.
- для типа ключевого значения: CFBundleTypeRole.
- для типа значения: редактор.
- для типа ключевого значения: LSHandlerRank.
- для типа значения: владелец."
Это работает для меня использование public.изображение как UTI.