2012-04-28 10 views
5

Sto lavorando a un'app iOS (iPhone/iPad) che esegue una chiamata al servizio Web in cui uno dei parametri è un file .pfx.Importazione file pfx nell'applicazione iOS

Vorrei che l'utente fosse in grado di importare il proprio file .pfx nell'app selezionando l'allegato in un messaggio di posta elettronica (l'app lo fa già per un tipo di file personalizzato, le cui voci non sono mostrate sotto, ma sono molto simili).

Nel file Info.plist dell'app, ho aggiunto una voce nel tag CFBundleDocumentTypes e una nel tag UTExportedTypeDeclarations, come mostrato di seguito. Nelle UTExportedTypeDeclarations che ho usato per l'identificatore 'com.rsa.pkcs-12', che è una delle UTI per i file pfx. Ho cercato e inserito il tipo MIME standard di un file 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> 

Questo non funziona. Quando apro un allegato di file pfx in Mail, si apre in Impostazioni (vuole installare il file come profilo). Naturalmente, il tipo di file pfx esiste già in iOS, quindi non dovrebbe essere realmente necessario creare una voce in UTExportedTypeDeclarations; tuttavia, la rimozione di questa voce non fa differenza. Lo stesso comportamento si verifica quando utilizzo un identificativo personalizzato in entrambe le voci (anziché "com.rsa.pkcs-12").

Non vorrei forzare l'utente a modificare l'estensione del file dell'allegato. C'è un modo in cui posso dire a iOS di chiedere all'utente se aprire il file con Impostazioni o la mia app?

risposta

3

Sembra che questo non sia possibile per un file speciale come .pfx.

Ho modificato la mia app in modo che accetti i file con un'estensione speciale. L'app ordina all'utente di modificare l'estensione del file .pfx nell'interno speciale prima di inviarlo a se stesso per importarlo nell'app.

Problemi correlati