Импорт файла pfx в приложение iOS

Я работаю над приложением iOS (iPhone/iPad ), которое выполняет вызов веб-службы, где один из параметров представляет собой файл.pfx.

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

В файле Info.plist приложения я добавил запись в тег CFBundleDocumentTypes и одну запись в тег UTExportedTypeDeclarations, как показано ниже. В UTExportedTypeDeclarations я использовал для идентификатора «com.rsa.pkcs -12», который является одним из UTI для файлов pfx. Я посмотрел и ввел стандартный тип MIME файла pfx (application/x -pkcs12 ).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>CFBundleDocumentTypes</key>
<array>
           ...
    <dict>
        <key>CFBundleTypeName</key>
        <string>Personal Information Exchange</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.rsa.pkcs-12</string>
        </array>
    </dict>
</array>
...
    <key>UTExportedTypeDeclarations</key>
<array>
           ...
    <dict>
        <key>UTTypeConformsTo</key>
        <array/>
        <key>UTTypeDescription</key>
        <string>Personal Information Exchange</string>
        <key>UTTypeIdentifier</key>
        <string>com.rsa.pkcs-12</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>pfx</string>
            <key>public.mime-type</key>
            <string>application/x-pkcs12</string>
        </dict>
    </dict>
</array>
</dict>
</plist>

Это не работает. Когда я открываю вложение файла pfx в Mail, оно открывается в настройках (и хочет установить файл как профиль ). Конечно, тип файла pfx уже существует в iOS, поэтому нет необходимости делать запись в UTExportedTypeDeclarations; однако удаление этой записи ничего не меняет. То же самое происходит, когда я использую пользовательский идентификатор в обеих записях (вместо «com.rsa.pkcs -12» ).

Не хотелось бы заставлять пользователя менять расширение файла вложения. Есть ли способ сказать iOS, чтобы спросить пользователя, открывать ли файл с помощью настроек или моего приложения?

5
задан bgh 28 April 2012 в 14:36
поделиться