Tôi đang làm việc trên ứng dụng iOS (iPhone/iPad) thực hiện cuộc gọi dịch vụ web nơi một trong các tham số là tệp .pfx.Nhập tệp pfx vào ứng dụng iOS
Tôi muốn người dùng có thể nhập tệp .pfx của riêng mình vào ứng dụng bằng cách chọn tệp đính kèm của nó trong email (ứng dụng đã thực hiện điều này cho loại tệp tùy chỉnh, có mục không được hiển thị bên dưới, nhưng rất giống nhau).
Trong tệp Info.plist của ứng dụng, tôi đã thêm một mục trong thẻ CFBundleDocumentTypes và một thẻ trong thẻ UTExportedTypeDeclarations, như được hiển thị bên dưới. Trong UTExportedTypeDeclarations tôi đã sử dụng cho mã định danh 'com.rsa.pkcs-12', là một trong số các tệp pfx của UTI. Tôi đã tra cứu và nhập loại MIME chuẩn của một tệp 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>
Điều này không hiệu quả. Khi tôi mở một tệp đính kèm tệp pfx trong Thư, nó sẽ mở trong Cài đặt (nó muốn cài đặt tệp dưới dạng tiểu sử). Tất nhiên, loại tệp pfx đã tồn tại trong iOS, vì vậy nó không thực sự cần thiết để tạo một mục nhập trong UTExportedTypeDeclarations; tuy nhiên, việc xóa mục nhập này không tạo ra sự khác biệt nào. Hành vi tương tự xảy ra khi tôi sử dụng mã định danh tùy chỉnh trong cả hai mục nhập (thay vì "com.rsa.pkcs-12").
Tôi không muốn buộc người dùng thay đổi phần mở rộng của tệp đính kèm. Có cách nào tôi có thể yêu cầu iOS yêu cầu người dùng có mở tệp bằng Cài đặt hoặc ứng dụng của tôi không?