Почему я не могу зарегистрировать приложение iOS для обработки типа файла изображения?

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

<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 на public.text), но он просто не будет работать с изображениями (меню "Открыть в.." не показывает мой приложение).

Что может быть причиной этого и как я могу его исправить?

Ответ 1

После небольшого исследования, похоже, невозможно зарегистрировать приложение для изображений. Спасибо за ваши ответы.

Ответ 2

Теперь можно открывать изображения из почтового приложения в iOS 7, оно несколько запутано:

Нажмите и удерживайте изображение. Нажмите "Быстрый просмотр", чтобы изображение стало полноэкранным. Коснитесь изображения, чтобы отобразить верхнюю панель инструментов. Нажмите кнопку открытия в верхнем правом углу. Прокрутите список влево, чтобы найти свое приложение.

Обязательно настройте типы документов пакета для интересующих вас типов изображений.

Ответ 3

Ответ Dimitri Bouniol, который он работает в iOS 7, быстро просматривается. Ниже приведены следующие дополнения к моему в 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>

Ответ 4

Try:

<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

Ответ 5

public.image - абстрактный тип, попробуйте зарегистрироваться для public.png или public.jpeg и т.д.

Ответ 6

ОС не позволит вам открывать изображения в приложении. Я также попробовал много перестановки и комбинации и подтвердил еще несколько сообщений в Apple Support.