2014-02-10 3 views
7

Я хочу, чтобы мое приложение появилось в UIActivityViewController для текста, в других приложениях. Например, при совместном использовании приложения Notes, как показано ниже.Как я могу сделать свое приложение в UIActivityViewController для текста?

enter image description here

Добавление следующих к Info.plist не дало никаких видимых результатов (в Notes, Evernote и Simplenote):

<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> 

Возможно ли это? Как?

ответ

8

Короткий ответ: вы не можете.

В настоящее время вы не можете добавить свое приложение в другое UIActivityViewControllers, если только вы не создали свой собственный UTI и приложение (Notes, Evernote и Simplenote), чтобы добавить свой код в свое приложение.

Что вы, скорее всего, имеете в виду, это UIDocumentInteractionController, которое отличается, и там вы можете добавить свое приложение, и я считаю, что вы делаете это правильно.

Все, что вы пытаетесь сделать, это все UIActivityViewControllers, так что как бы вы ни старались, ваше приложение не появится там.

Быстрое примечание: хороший способ отличить UIActivityViewControllers и UIDocumentInteractionController - это увидеть, появляется ли в нем «Dropbox». По моему опыту, приложение Dropbox имеет «уловку» UTI и может принимать любой файл, поэтому обычно он появляется почти во всех UIDocumentInteractionController. Конечно, вам нужно установить приложение

+1

Это все еще так? Возможно, я не понимаю ваш ответ, но я вижу «Сохранить в Dropbox» в простом «UIActivityViewController», во второй строке значков. Я хочу, чтобы мое приложение появилось рядом с ним, и оно работает с 'UIDocumentInteractionController', но не рядом с Dropbox в' UIActivityViewController'. –

+1

@TimCamber Хорошая точка. Эта информация устарела, начиная с iOS 8, где добавлены расширения Share и является правильным способом. Я обновлю ответ. – Jack

1

Вы plist неправильно, см этот ответ: Why is my iOS app not showing up in other apps' "Open in" dialog?, но для меня это выглядит, как вы еще не установили LSHandlerRank в вашем plist.

также: убедитесь, что вы будете следовать собственной документации Apple: https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/RegisteringtheFileTypesYourAppSupports.html

+0

Um. 'LSHandlerRank' находится прямо здесь? – hpique

+0

Извините! я думаю, я пропустил это как-то ... – virindh

+0

Подождите! почему вы заканчиваете свой массив сразу после CFBundleTypeIconFiles? – virindh

Смежные вопросы