簡體   English   中英

將 pfx 文件導入 iOS 應用程序

[英]Importing pfx file into iOS application

我正在開發一個 iOS (iPhone/iPad) 應用程序,該應用程序執行 Web 服務調用,其中一個參數是 .pfx 文件。

我希望用戶能夠通過在電子郵件中選擇其附件將他自己的 .pfx 文件導入應用程序(該應用程序已經為自定義文件類型執行此操作,其條目未顯示在下面,但非常相似) .

在應用程序的 Info.plist 文件中,我在 CFBundleDocumentTypes 標記中添加了一個條目,在 UTExportedTypeDeclarations 標記中添加了一個條目,如下所示。 在 UTExportedTypeDeclarations 中,我用於標識符“com.rsa.pkcs-12”,它是 pfx 文件的 UTI 之一。 我查找並輸入了 pfx 文件的標准 MIME 類型 (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 文件附件時,它會在設置中打開(它想將該文件安裝為配置文件)。 當然,pfx 文件類型在 iOS 中已經存在,所以應該沒有必要在 UTExportedTypeDeclarations 中做一個條目; 但是,刪除此條目沒有任何區別。 當我在兩個條目(而不是“com.rsa.pkcs-12”)中使用自定義標識符時,會發生相同的行為。

我不想強迫用戶更改附件文件的擴展名。 有沒有辦法告訴 iOS 詢問用戶是使用“設置”還是我的應用程序打開文件?

對於特殊文件(例如 .pfx ),這似乎是不可能的。

我已經更改了我的應用程序,以便它接受具有特殊擴展名的文件。 應用程序會指示用戶將 .pfx 文件的擴展名更改為特殊擴展名,然后再將其通過電子郵件發送給他/她自己以將其導入應用程序。

您可以在不重命名文件擴展名的情況下使用共享擴展

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM