2012-04-28 7 views
5

私は、パラメータの1つが.pfxファイルであるWebサービスコールを実行するiOS(iPhone/iPad)アプリケーションで作業しています。iOSアプリケーションへのpfxファイルのインポート

電子メールで添付ファイルを選択することで、ユーザーが自分の.pfxファイルをアプリケーションにインポートできるようにしたいとします(このアプリケーションでは、カスタムファイルタイプのエントリがあります。非常に似ています)。

アプリのInfo.plistファイルでは、以下に示すように、CFBundleDocumentTypesタグとUTExportedTypeDeclarationsタグにエントリを追加しました。 UTExportedTypeDeclarationsでは、識別子 'com.rsa.pkcs-12'に使用しました。これは、pfxファイルのUTIの1つです。私は調べて、pfxファイル(application/x-pkcs12)の標準MIMEタイプに入った。

<?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に指示する方法はありますか?

答えて

3

これは、.pfxなどの特殊なファイルでは不可能なようです。

特殊な拡張子のファイルを受け入れるようにアプリを変更しました。このアプリは、.pfxファイルの拡張子を特別な拡張子に変更してから電子メールでアプリにインポートするように指示します。

関連する問題