Я работаю над приложением iOS (iPhone/iPad), которое вызывает вызов веб-службы, где один из параметров - это .pfx-файл.Импорт файла pfx в приложение iOS
Я хотел бы, чтобы пользователь мог импортировать свой собственный .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, спросить пользователя, следует ли открыть файл с помощью настроек или моего приложения?