О сервисном меню в Mr. Reader и скрытых возможностях iOS

iOS есть за что похвалить и есть за что поругать. В противном случае не появлялись бы всевозможные концепты быстрых настроек или правильных оповещений. Но по большому счету это все «рюшечки» и существуют более серьезные ограничения, которые сказываются как на положительном опыте эксплуатации iOS-устройств, так и на эффективности работы с ними. При этом, как бы парадоксально не звучало, существуют и вполне легальные способы данные ограничения нивелировать, вот только разработчики не спешат этим заниматься, а Apple как-то вообще наплевать, судя по отсутствию реакции со стороны компании. Речь идет о некоем аналоге системы сервисов OS X, реализованном в iOS. Более того, уже есть несколько приложений, полноценно их использующих. Вот о них, а также о потенциальных возможностях iOS и пойдет речь ниже.

Уверен, многие пользователи знают один из лучших RSS-клиентов для iPad — Mr. Reader. Если еще не знаете о нем, рекомендую пройти по ссылке выше и почитать обзор, программа действительно стоящая и конкурентов у нее мало. Так вот, еще в середине прошлого года Mr. Reader выгодно выделялся среди аналогов своей функциональностью в плане работы с дополнительными сервисами. Что я имею ввиду: так, прямо из программы можно было открыть статью в определенном браузере, а не только в Safari, или же перебросить часть текста в одно из установленных на планшете приложений, вроде Evernote.

Похожие возможности есть у некоторых встроенных приложений Apple, будь то (можно открыть документ в определенном редакторе) или «» (отправить изображение по почте, в твиттер и т. п.). Но, во-первых, собственное сервисное меню Apple очень ограничено, во-вторых, для компании не составляет труда добавить любые функции в свои приложения, у нее нет ограничений SDK. Как же столь широкой функциональности добился сторонний разработчик, и при этом его приложение не вылетело из App Store?

Дело в том, что используемые в Mr. Reader приемы вполне легальны. Более того, они были описаны известным программистом и дизайнером Крисом Кларком (Chris Clark) еще в 2010 году. Это система индивидуальных URL-схем, когда вызов определенного приложения и совершения с ним некоего действия описывается с помощью специальной ссылки. Именно такие ссылки и использовал разработчик Mr. Reader, внедрив их в код программы.

Количество приложений с поддержкой индивидуальных URL-схем постепенно росло, как и возможности по манипуляции с ними. В почтовый ящик создателя Mr. Reader Оливера Фюернисса (Oliver Fuerniss) посыпались просьбы включить те или иные возможности в клиент, но сделать это он банально не мог физически. Нельзя объять необъятное, и у Фюернисса нет возможности постоянно править код ради добавления пары-тройки программ или лишь определенных команд по взаимодействию с выделенным контентом. Он поступил проще — сделал так, что пользователь может сам добавлять любые URL-схемы в Mr. Reader. Более того, в приложении реализован простой инструмент написания таких схем.

Читайте также  WhatsApp получил поддержку функции быстрых ответов

Система работы в данном случае простая. Во-первых, в RSS-клиенте сохранились доступные ранее схемы и их легко добавить в сервисное меню или даже отредактировать самостоятельно. Во-вторых, можно добавлять собственные приложения или альтернативные веб-браузеры. Для этого есть небольшая форма с несколькими полями, где указывается название приложения (или то, как действие будет отображаться во всплывающем меню), протокол (чтобы Mr. Reader понимал, а какое конкретно приложение надо вызывать), сама URL-схема и ее доступность в меню перехода или выделения текста. Сами схемы и команды для определенных программ обычно описаны на сайте разработчиков и их несложно найти через любой поисковый сервис. Кроме того, в самом Mr. Reader, в нижней части экрана есть несколько кнопок, вставляющих основные команды, вроде [], [], [] и т. п.

На основе этих команд можно создать весьма интересные функции. Например, опцию автоматической публикации твита через Tweetbot, причем в нем будет указан выбранный текст и его источник, а после клика на «Опубликовать» система автоматически переключится обратно в Mr. Reader.


Источник: MacStories

Не менее легко организовать и поиск по выбранному слову в Articles (эта схема есть среди стандартных) и т. п. Вариантов использования такой системы автоматизации своей рутины и взаимодействия с другими приложениями бесконечно много.

К тому же система работы URL-схем функциональна даже для вызова отдельных окон сторонних приложений прямо внутри той или иной программы. В Mr. Reader таким образом реализован перевод текста, когда используется и результат перевода появляется прямо внутри всплывающего окна. Также если кликнуть на ссылку в App Store, то не произойдет назойливого переключения в соответствующее приложение, а просто появится окно App Store внутри Mr. Reader с описанием выбранной программы. Раньше подобное я видел только в Mail.app (это появилось лишь в iOS 6).

Если вы думаете, что Оливер Фюернисс бог программирования и у него какие-то связи в Apple, мол, компания закрывает глаза на использование таких, вроде бы как недокументированных функций, то это не так. Есть как минимум еще один пример эффективного использования URL-схем в iOS сторонним разработчиком, причем делать он это начал пораньше Фюернисса. Приложение называется Launch Center Pro, оно доступно в App Store и позволяет значительно упростить многие многократно совершаемые в iOS действия, используя для этого описанную выше систему. Правда, «шаманить» самому вам не дадут, там предлагаются уже готовые схемы, но их очень и очень много.

Читайте также  App Store New Star Soccer. Для фанатов футбола

То есть, возможность взаимодействия между приложениями в iOS есть и реализована она на весьма неплохом уровне, решает массу проблем, на которые жалуются пользователи и вообще — это какая-то сказка на фоне банальных мучений с открытием ссылок в альтернативном браузере, если не устраивает Safari. Почему же Apple не продвигает эту сказку в массы? Почему молчит и не агитирует разработчиков на эффективное использование URL-схем? Почему… в общем, еще много таких вот «» роится в голове, но ответа на них нет.

Могу лишь предположить, что в проекте по развитию iOS у компании есть некие планы по самостоятельному внедрению такого рода возможностей с их доступностью в SDK, но схема их реализации отличается от доступной сейчас. То есть, начни она продвигать URL-схемы (которые являются скорее костылем, чем полноценным решением) сейчас или раньше, то потом разработчикам придется многое переделывать, случись изменение концепции взаимодействия ПО внутри операционной системы.

Кому интересно поглубже изучить работу URL-схем, переходите по указанному в конце статьи источнику (и по ссылкам внутри него), там автор рассматривает практические аспекты работы с ними и не только, если походить по ссылкам внутри (требуются знания английского языка). Для меня же лично в Mr. Reader пока хватает того, что есть среди его стандартных схем. Буду надеяться, что Apple таки что-то сделает с сервисами и сервисным меню в этой самой лучшей на свете мобильной операционной системе. Хотя, самой лучшей ее все-таки делает сторонний софт. [MacStories]

Источник: iphones.ru

RIOS