2012-04-28 4 views
5

매개 변수 중 하나가 .pfx 파일 인 웹 서비스 호출을 실행하는 iOS (iPhone/iPad) 앱에서 작업하고 있습니다.iOS 응용 프로그램으로 pfx 파일 가져 오기

전자 메일에서 첨부 파일을 선택하여 사용자가 자신의 .pfx 파일을 가져올 수있게하고 싶습니다. (이 응용 프로그램은 이미 사용자 지정 파일 유형에 대해이 작업을 수행하지만 그 항목은 아래에 표시되지 않지만 매우 비슷합니다.)

앱의 Info.plist 파일에서 아래에 표시된 것처럼 CFBundleDocumentTypes 태그와 UTExportedTypeDeclarations 태그에 항목을 추가했습니다. UTExportedTypeDeclarations에서 필자는 식별자 'com.rsa.pkcs-12'에 사용했으며 이는 pfx 파일의 UTI 중 하나입니다. 내가 찾은 다음 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 파일의 확장자를 이메일에 첨부하기 전에 특수 확장자로 변경하여 앱으로 가져 오도록 사용자에게 지시합니다.

관련 문제