2011-11-23 2 views
2

OSX의 Finder에게 내 이메일 클라이언트 응용 프로그램이 .eml 파일을 열 수 있다고 말하려고하는데, 지금까지 잘 진행되지 않았습니다. Mail.app의 plist에서 리프를 가져 와서 대부분의 UTI 값을 그대로 복사하고 UTTypeIdentifier를 내 회사로 변경했습니다.Finder가 내 UTI를 보지 못했습니다.

PLIST는 스탠드로 : 내가 잘못 여기하고있어 분명 아무것도

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>com.memecode.scribe.email</string> 
     </array> 
     <key>CFBundleTypeRole</key> 
     <string>Viewer</string> 
     <key>CFBundleTypeIconFile</key> 
     <string>Email.icns</string> 
     <key>CFBundleTypeName</key> 
     <string>Email Message</string> 
    </dict> 
</array> 
<key>UTExportedTypeDeclarations</key> 
<array> 
    <dict> 
     <key>UTTypeIconFile</key> 
     <string>Email.icns</string> 
     <key>UTTypeConformsTo</key> 
     <array> 
      <string>public.data</string> 
      <string>public.email-message</string> 
     </array> 
     <key>UTTypeDescription</key> 
     <string>Email Message</string> 
     <key>UTTypeIdentifier</key> 
     <string>com.memecode.scribe.email</string> 
     <key>UTTypeTagSpecification</key> 
     <dict> 
      <key>public.filename-extension</key> 
      <string>eml</string> 
      <key>public.mime-type</key> 
      <string>message/rfc822</string> 
     </dict> 
    </dict> 
</array> 

있습니까?

답변

1

Mail이 .eml 확장명에 대해 UTI를 선언하고 있기 때문에 동일한 확장명에 대해 고유 한 UTI를 정의하는 것이 바람직하지 않다고 생각합니다. LSItemContentTypes에서 Mail의 UTI를 사용하기 만하면됩니다. 원하는 경우 Mail의 UTI 선언을 가져온 유형으로 복사 할 수 있습니다.

+0

사실, Mail의 UTI 선언을 자신의 Info.plist로 가져온 다음'CFBundleDocumentTypes'에서 Mail의 UTI를 사용하는 것이 필요합니다. 나는 그 둘 모두를 돕기 위해 잠시 후에 앱을 썼다. http://boredzo.org/uti-plist-helper/ –

+0

이 방법이 효과적이나, Mail.app가 호스트 시스템에서 삭제되면 어떻게되는지 궁금하다. 내가 Mail.app에 거기에 있고 잘 작동하는지에 의존하고있는 것처럼 보입니다. 나는 불안감을 느낍니다. Mail.app과 완전히 독립적입니다. (현재 UTI를 가져오고 있습니다 ... .eml 파일의 "open with"메뉴에 내 응용 프로그램을 표시합니다.) – fret

+0

@fret : Mail.app이 삭제되면 좋습니다. 이것이 수입 된 선언을 작성하는 요점입니다. 당신은 말합니다, 나는이 UTI를 소유하고 있지 않습니다. 다만 주인이 주변에 없다면, 여기에 선언문이 있습니다. – JWWalker