Статьи

Руководство по расширениям в iOS 8 и OS X Yosemite

Одной из общих функций, присутствующих в каждой мобильной платформе, кроме iOS, является возможность доступа к функциям приложения без запуска приложения. Android называет это «Виджеты», а Windows Phone — «Живые плитки».

Давайте проясним, что расширения в iOS могут быть намного больше, чем просто виджеты или сторонние клавиатуры. Apple предлагает расширения как новый метод расширения любой функциональности любого приложения. Apple объявляет это как преемник сервисной функции OS X.

Apple настолько серьезно относится к расширениям, что в OS X они привносят многие функции, которые были частью Dashboard, в расширения. Я не удивлюсь, если Apple полностью удалит Dashboard из будущих версий OS X, но я думаю, что это произойдет позже, а не раньше. В настоящее время, если вы писали виджеты Dashboard в прошлом, теперь вы должны портировать их для использования инфраструктуры расширений.

Существует 7 поддерживаемых типов расширений в iOS 8 и OS X Yosemite, 6 из них доступны для iOS и 4 для OS X. Мы рассмотрим все из них в этой статье.

Обратите внимание, что Apple указала, что в будущих версиях iOS и OS X они могут добавлять новые типы расширений. [1]

Точки расширения в iOS и OS X. Источник: Apple.

Точка расширения

Пример расширения приложения, которое помогает пользователям:

Сегодня (iOS и OS X)

Получите быстрое обновление или выполните быстрое задание в представлении «Сегодня» Центра уведомлений

(Расширение Today называется виджетом )

Поделиться (iOS и OS X)

Опубликовать на веб-сайте обмена или поделиться контентом с другими

Действие (iOS и OS X)

Управлять или просматривать контент в контексте другого приложения

Редактирование фотографий (iOS)

Редактировать фото или видео в приложении «Фотографии»

Finder (OS X)

Представлять информацию о состояниях синхронизации файлов непосредственно в Finder.

Поставщик документов (iOS)

Предоставить доступ к хранилищу файлов и управлять им.

Пользовательская клавиатура (iOS)

Замените системную клавиатуру iOS пользовательской клавиатурой для использования во всех приложениях

Сегодня (iOS и OS X)

Тип расширения Today (также называемый виджетом) является одним из наиболее распространенных типов расширений, которые люди могли видеть на других мобильных платформах. Это была одна из самых востребованных функций в течение долгого времени.

Расширение Today позволяет разработчикам размещать пользовательское представление в нижней части центра уведомлений, к которому можно получить доступ в любом месте, проводя вниз от верхней части экрана. Это полезно для приложений, которые показывают небольшую часть важной информации, такой как спортивные результаты, цены на акции или курсы валют. Вы можете добавить более сложную функциональность в расширение Today , например, PCalc включил мини-калькулятор в свое последнее обновление.

Поделиться (iOS и OS X)

В первой версии iOS (тогда iPhone OS) Apple представила способ обмениваться веб-страницами и фотографиями без необходимости копировать и вставлять. Фактически, копирование и вставка не были доступны для всей ОС. Это было начало кнопки «Поделиться», которую Apple перенесла на iOS 7. В iOS 5 Apple добавила возможность делиться в Twitter, в iOS 6 — в Facebook, а также в iOS 7 AirDrop и Reading List.

До iOS 8 у стороннего разработчика не было возможности включить свои приложения в качестве одного из вариантов общего доступа. Apple только постепенно добавляла новые источники общего доступа с каждым обновлением ОС. Конечно, в конечном счете, это никогда не было масштабируемым вариантом для Apple. Что если в середине жизненного цикла iOS новая социальная сеть станет популярной? Что если Facebook или Twitter кардинально изменили свою политику в середине жизненного цикла iOS?

Так что расширение Share является естественным приспособлением для социальных сетей и других веб-сервисов, которые давно хотели бы включить в iOS. [2]

Действие (iOS и OS X)

Расширение Action находится рядом с расширением общего доступа, и в OS X, и в iOS они доступны с одной и той же кнопки. В более старых версиях iOS мы уже использовали расширение действия для таких вещей, как « Добавить в список чтения» , « Добавить на главный экран» , « Копировать» и « Печать» .

Расширение Action используется для просмотра или преобразования содержимого в контексте другого приложения. Одним из лучших примеров этого, как показано в ключевом примечании WWDC, является приложение для перевода, имеющее расширение Action, которое может переводить содержимое в Safari на другой язык. Другое умное приложение для этого — менеджер паролей, например 1Password, для написания расширения Action, которое будет запускаться на страницах Safari для заполнения паролей.

Редактирование фотографий (iOS)

Расширение Photo Editing — это то, чего многие ожидали от iOS. С момента запуска Instagram я слышал от многих друзей вопрос: «Могу ли я использовать фильтры Instagram в своем приложении« Фото »?» (Ответ: «Конечно, нет, вам нужно отправлять сообщения в Instagram, чтобы получить отфильтрованные фотографии» ). Их идея Instagram (и других приложений iOS для редактирования фотографий) похожа на Photoshop на рабочем столе. Вы открываете фотографию, редактируете и получаете результат.

Хотя в iOS это не совсем так, расширение Photo Editing позволит пользователям редактировать фотографии прямо во встроенном приложении Photos с помощью любых инструментов редактирования, которые они установили. Это намного удобнее для пользователей, поскольку все их фотографии находятся в приложении «Фотографии», и им не нужно выходить из приложения, чтобы редактировать свои фотографии.

Finder Sync (OS X)

Finder Sync — это расширение только для OS X. Это также единственное эксклюзивное расширение OS X в этом выпуске. Расширение Finder Sync можно использовать для регистрации папок, которые необходимо отслеживать, а также для синхронизации с удаленными источниками данных. Если вы используете Dropbox, у вас наверняка есть представление о том, как работает расширение Finder Sync.

Вы можете добиться в значительной степени того, что делает Dropbox с расширением Finder Sync. Это включает в себя отображение пользовательского контекстного меню в определенной папке и отображение значков на файлах внутри нее. Вы также можете добавить пользовательские кнопки на панели инструментов Finder.

Поставщик документов (iOS)

Расширение Document Provider является iOS-аналогом расширения Finder Sync. С расширением «Поставщик документов» в iOS вы можете предоставить свои собственные файлы, когда приложение пытается сохранить или открыть файл в приложении на основе документов.

Это не обязательно дает пользователю доступ ко всей вашей файловой системе, но, по крайней мере, позволяет пользователям сохранять, открывать и редактировать документы из собственного облачного хранилища. Это намекает на то, что Apple теперь в порядке, позволяя пользователям использовать сторонние сервисы облачного хранения. Это может означать, что люди могут отойти от iCloud, поскольку они больше не обязаны сохранять свои документы в iCloud.

Пользовательская клавиатура (iOS)

Понятно, почему это расширение доступно только для iOS, поскольку это единственная платформа из двух, которая не поставляется с аппаратной клавиатурой. Я весьма удивлен, что это было включено в iOS. По сравнению с другими расширениями, я лично считаю, что это один из наименее востребованных.

Пользовательские клавиатуры могут предоставить пользовательский интерфейс клавиатуры для пользователей. Одним из наиболее популярных примеров сторонней клавиатуры от других платформ является Swype [3] . Я вполне доволен встроенной клавиатурой iOS. Я пробовал использовать другие сторонние клавиатуры, и большинство из них просто не так просты в использовании и не предлагают гораздо больше функций, чем встроенные.

С чего начать?

Прежде чем писать расширения для iOS 8 и OS X Yosemite, убедитесь, что вы тщательно продумали, как пользователь будет использовать ваши расширения. Помните, что если пользователь удалит ваше приложение, ваше расширение также будет удалено из системы. Когда вы пишете расширения, убедитесь, что это то, что пользователи действительно будут использовать. Убедитесь, что они могут связать ваше расширение с вашим приложением. Если они забудут, что ваше приложение предоставляет определенные расширения, они не поймут, что удалили ваши расширения, удалив ваше приложение.

В Xcode 6 создание расширений просто. Так же, как Apple предоставляет шаблоны для контроллеров Core Data, Storyboard и Table View, они также обеспечивают очень хорошие отправные точки для расширений. К шаблонам расширений можно получить доступ, используя File> New> Target… в Xcode 6:

Создание расширения в Xcode 6

Так что это расширения. Это очень большая особенность в iOS 8 и OS X Yosemite. Это будет основой дальнейшей функциональности, которую мы увидим в будущих выпусках iOS и OS X. Для получения более подробной информации, ознакомьтесь с Руководством по программированию расширения приложений от Apple. Это очень большая тема для обсуждения, но я надеюсь, что эта запись в блоге послужит мягким и широким введением в Расширения.


  1. Который в будущем может включать расширение для запуска приложений на Apple Watch. ↩

  2. Привет, Пинборд . ↩

  3. Который они, вероятно, будут портировать на iOS. ↩