2012-04-28 12 views
5

Estoy trabajando en una aplicación iOS (iPhone/iPad) que realiza una llamada al servicio web donde uno de los parámetros es un archivo .pfx.Importación de archivo pfx a la aplicación iOS

Me gustaría que el usuario pueda importar su propio archivo .pfx en la aplicación seleccionando su archivo adjunto en un correo electrónico (la aplicación ya lo hace para un tipo de archivo personalizado, cuyas entradas no se muestran a continuación, pero son muy similares).

En el archivo Info.plist de la aplicación, agregué una entrada en la etiqueta CFBundleDocumentTypes y otra en la etiqueta UTExportedTypeDeclarations, como se muestra a continuación. En UTExportedTypeDeclarations usé para el identificador 'com.rsa.pkcs-12', que es una de las UTI para archivos pfx. Levanté la vista e ingresé el tipo MIME estándar de un archivo 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> 

Esto no funciona. Cuando abro un archivo adjunto pfx en Mail, se abre en Configuración (quiere instalar el archivo como un perfil). Por supuesto, el tipo de archivo pfx ya existe en iOS, por lo que no debería ser realmente necesario realizar una entrada en UTExportedTypeDeclarations; sin embargo, eliminar esta entrada no hace diferencia. El mismo comportamiento ocurre cuando uso un identificador personalizado en ambas entradas (en lugar de "com.rsa.pkcs-12").

No me gustaría obligar al usuario a cambiar la extensión del archivo del archivo adjunto. ¿Hay alguna manera en que pueda decirle a iOS que pregunte al usuario si abrir el archivo con la Configuración o mi aplicación?

Respuesta

3

Parece que esto no es posible para un archivo especial como .pfx.

He cambiado mi aplicación para que acepte archivos con una extensión especial. La aplicación indica al usuario que cambie la extensión del archivo .pfx a la extensión especial antes de enviarla por correo electrónico para importarla a la aplicación.

Cuestiones relacionadas