2012-04-28 30 views
5

Parametrelerden birinin .pfx dosyası olduğu bir web hizmeti araması yapan iOS (iPhone/iPad) uygulaması üzerinde çalışıyorum.Pfx dosyasını iOS uygulamasına alma

Kullanıcı, kendi e-postada ekini seçerek uygulamaya kendi .pfx dosyasını içe aktarabilmesini isterim (uygulama bunu aşağıda gösterilmeyen özel bir dosya türü için zaten yapar, ancak çok benzer).

Uygulamanın Info.plist dosyasında, CFBundleDocumentTypes etiketine ve aşağıda gösterildiği gibi UTExportedTypeDeclarations etiketine bir giriş ekledim. UTExportedTypeDeclarations tanımında 'com.rsa.pkcs-12' tanımlayıcısı için kullanılır, bu da pfs dosyaları için UTI'lerden biridir. Yukarı baktım ve bir pfx dosyasının standart MIME tipini girdim (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> 

Bu çalışmaz. Mail'de bir pfx dosyası eki açtığımda, Ayarlar'da açılır (dosyayı bir profil olarak yüklemek ister). Tabii ki, pfx dosya türü iOS'ta zaten mevcut, bu yüzden UTExportedTypeDeclarations içinde bir giriş yapmak gerçekten gerekli olmamalıdır; Ancak, bu girişi kaldırmak hiçbir fark yaratmaz. Aynı davranış her iki girdide de özel bir tanımlayıcı kullandığımda oluşur ("com.rsa.pkcs-12" yerine).

Eklenti dosyasının uzantısını değiştirmek için kullanıcıyı zorlamak istemiyorum. IOS'a kullanıcıya, dosyayı Ayarlar veya uygulamam ile açıp açmayacağını sormanın bir yolu var mı?

cevap

3

Bu, .pfx gibi özel bir dosya için mümkün değildir.

Uygulamamı, özel bir uzantıya sahip dosyaları kabul edecek şekilde değiştirdim. Uygulama, kullanıcıya uygulamayı uygulamaya aktarmak için kendisine e-posta göndermeden önce .pfx dosyasının uzantısını özel uzantıya değiştirmesini bildirir.