Параметры «Открыть в…» доступны на основе открываемого содержимого и типов документов, поддерживаемых установленными приложениями устройства.Это не то, что вы можете изменить из своего приложения.
С другой стороны, если приложения, которые вы хотите отобразить в списке «Открыть в» вашего приложения, - это другие приложения, которые вы можете контролировать, то вы можете добавить CFBundleDocumentTypes
ключи к спискам info.plists этих приложений.Это говорит iOS, что приложения могут открывать определенные типы файлов.Вы указываете поддерживаемые типы файлов, используя UTI, такие как public.jpeg
и т. Д., И когда пользователь пытается открыть один из этих типов файлов с помощью UIActivityViewController, ios включит в опции вспомогательные приложения.
Вот хорошее обсуждениеоб этом: Как мне заставить мое приложение отображаться в меню Open in ...
И вот обсуждение UTI: Понятия унифицированного идентификатора типа
Так, например, если одно из ваших приложений поддерживает открытие изображений в формате jpeg и любого текстового файла, вы бы добавили это в info.plist:
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>Images</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>public.jpeg</string>
</array>
</dict>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>text</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>public.plain-text</string>
</array>
</dict>
</array>
Но, опять же, если вы 'вы не можете манипулировать приложениями, которые отображаются как параметры «Открыть в», из приложения, отображающего контроллер активности.Вы можете сделать так, чтобы ваши собственные приложения объявляли, что они поддерживают определенные типы документов, и из этого iOS создает свои опции «Открыть в».