2014-02-10 1 views
7

다른 앱에서는 내 앱이 UIActivityViewController에 텍스트로 표시되기를 바랍니다. 예를 들어, 아래 그림과 같이 Notes 앱에서 공유 할 때.내 앱을 텍스트 용 UIActivityViewController에 표시하려면 어떻게해야합니까?

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeIconFiles</key> 
     <array> 
      <string>icon-text-57.png</string> 
      <string>icon-text-72.png</string> 
      <string>icon-text-114.png</string> 
     </array> 
     <key>CFBundleTypeName</key> 
     <string>Text</string> 
     <key>LSHandlerRank</key> 
     <string>Alternate</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>public.text</string> 
      <string>public.plain-text</string> 
      <string>public.utf8-plain-text</string> 
      <string>public.utf16-external-plain-​text</string> 
      <string>public.utf16-plain-text</string> 
      <string>public.rtf</string> 
     </array> 
    </dict> 
</array> 

이 가능한 경우 : (노트, 에버 노트와 Simplenote에) 눈에 보이는 결과를 생성하지 않았다 Info.plist 파일에 다음을 추가

enter image description here

? 방법?

답변

8

짧은 대답 : 당신은 할 수 없습니다.

현재 자신 만의 UTI를 만들고 앱 (Notes, Evernote 및 Simplenote)이 자신의 앱에 코드를 추가하지 않는 한 다른 UIActivityViewControllers에 앱을 추가 할 수 없습니다.

그래도 가능성이있는 것은 UIDocumentInteractionController입니다.이 앱은 앱을 추가 할 수 있으며 제대로 작동한다고 생각합니다.

시도하려는 항목이 모두 UIActivityViewControllers이므로 아무리 노력해도 앱이 표시되지 않습니다.

간편한주의 사항 : UIActivityViewControllersUIDocumentInteractionController을 구별하는 좋은 방법은 "Dropbox"가 나타나는지 확인하는 것입니다. 내 경험으로 볼 때 Dropbox 앱은 "catch-all"UTI를 가지고 있으며 어떤 파일이라도 가져갈 수 있기 때문에 일반적으로 거의 모두 UIDocumentInteractionController의 파일에 들어 있습니다. 물론 앱을 설치해야합니다.

+1

여전히 사실입니까? 어쩌면 나는 당신의 대답을 오해하고있다. 그러나 아이콘의 두 번째 줄에 일반 "UIActivityViewController"에 "Dropbox에 저장"이 표시된다. 내 응용 프로그램을 함께 표시하려면 'UIDocumentInteractionController'를 사용하지만, 'UIActivityViewController'의 Dropbox와 함께 사용하지 마십시오. –

+1

@TimCamber 좋은 지적. 이 정보는 공유 확장이 추가되고 올바른 방법 인 iOS 8부터 구식입니다. 나는 대답을 업데이트 할 것이다. – Jack

1

당신은 plist 잘못이야,이 답변을 참조하십시오 Why is my iOS app not showing up in other apps' "Open in" dialog?를하지만 아직 plistLSHandlerRank을 설정하지 않은 것처럼 나에게 보인다.

또한 : 당신이 애플의 문서를 준수합니다 : https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/RegisteringtheFileTypesYourAppSupports.html

+0

음. LSHandlerRank가 바로 거기에 있습니까? – hpique

+0

죄송합니다! 나는 어떻게 든 그것을 놓친 것 같아 ... – virindh

+0

기다려! CFBundleTypeIconFiles 바로 뒤에 배열을 완성하는 이유는 무엇입니까? – virindh

관련 문제