Вот мои выводы на данный момент:
Резюме:
- Значок. Расширения для общего доступа отмечены цветными значками.
- Расположение значков. В некоторых приложениях, например Safari, есть большое количество значков действий, которые нельзя скрыть, с которыми будет конкурировать ваш значок.
- Пользовательский интерфейс: общие расширения должны иметь согласованный интерфейс.
- Намерение: расширения общего доступа предназначены для использования в целях обмена контентом, но даже Apple нарушает это требование.
Значок
Расширения общего доступа получают цветной значок, такой же, как и основной значок вашего приложения. Фактически, Apple заявляет: если вы предоставляете отдельный значок в целевом объекте расширения Share, Xcode игнорирует его. [B]
Расширения действий используют монохроматическую версию значка приложения, [E] или версия изображения шаблона [B] значка вашего приложения.
Расположение значка
Расширения общего доступа отображаются в средней строке, а расширения действий - в нижней строке.
В зависимости от целевого приложения ваш значок может конкурировать с большим или меньшим количеством значков в качестве расширения общего доступа или действия. Например, если пользователи собираются получить доступ к вашему расширению в основном через Safari, ваше приложение по умолчанию будет конкурировать с 4 другими значками в качестве расширения общего доступа * или с 8 другими значками в качестве расширения действия. С другой стороны, если вы ориентируетесь на приложение «Карты», вы будете конкурировать с большим количеством значков в качестве расширения общего доступа (4), а не расширения действия (2).
Таким образом, чтобы максимально увеличить вашу представленность для пользователя, вам нужно выбрать расширение общего доступа при таргетинге на Safari, но расширение действия при таргетинге на Карты.
Примечание. Большинство действий обеспечивается самим хост-приложением с использованием UIActivity и API-интерфейсы UIActivityViewController. О них есть отличная статья на NSHipster.
* Очевидно, что количество расширений общего доступа и активности меняется в зависимости от установленных приложений и того, какие приложения пользователь выбрал для отображения / скрытия.
Примеры из симулятора iOS 9.1:
- Contacts:
- Share (1): Mail
- Мероприятия (0):
- Maps:
- Share (4): Mail, Reminders, Twitter, Facebook
- Действия (2): Добавить в избранное, Распечатать
- News:
- Share (4): Mail, Reminders, Twitter, Facebook
- Действия (5): добавить в список для чтения, скопировать, открыть в Safari, сообщить о проблеме, отключить канал
- Photos:
- Share (4): Mail, Twitter, Facebook, Flickr
- Действия (6): копирование, слайд-шоу, скрытие, назначение контакту, использование в качестве обоев, печать
- Safari:
- Share (4): Mail, Reminders, Twitter, Facebook
- Действия (10): добавить в избранное, добавить закладку, добавить в список для чтения, добавить на главный экран, добавить в общие ссылки, добавить в новости, скопировать, распечатать, найти на странице, запросить сайт рабочего стола
- (Highlighted Text):
- Share (3): Mail, Twitter, Facebook
- Действия (1): Копировать
(Курсив означает, что значки можно скрыть.)
Пользовательский интерфейс
Шаблон Расширение общего доступа по умолчанию поставляется с подклассом SLComposeServiceViewController для единообразия. И Apple хочет, чтобы вы использовали предоставляемый системой пользовательский интерфейс в расширении Share [насколько это возможно]. [E]
Расширения действий, с другой стороны, позволяют вам выбрать Тип действия (представляет пользовательский интерфейс или нет пользовательского интерфейса em >), причем первый идет с пустым UIViewController.
Расширение общего доступа по умолчанию; По умолчанию представляет расширение действия пользовательского интерфейса.
Намерение
Хотя Apple заявляет, что расширение общего доступа должно публиковать сообщения на веб-сайтах для обмена или делиться контентом с другими, [A] даже если они нарушают это требование с помощью напоминаний.
Расширения действий предназначены для управления или просмотра контента, создаваемого основным приложением. [A]
То же самое
- Оба позволяют вашему приложению предоставлять несколько версий расширения. (Например, ваше приложение может предоставлять два расширения общего доступа и два расширения действий.)
- В моем ограниченном тестировании они оба, кажется, отключены по умолчанию, при этом пользователю нужно явно нажать на кнопку еще, чтобы включить расширение share / action.
использованная литература
person
Senseful
schedule
12.11.2015