[Хабрахабр] Создание Today Extension для iOS 8.pdf

(2069 KB) Pobierz
вчера в
13:15
Созда�½ие
Today Extension
для
iOS 8
Swift*, Objective C*,
Разработка под
iOS*
перевод
tutorial
С выходом
iOS 8
компа�½ия
Apple
представила �½овою ко�½цепцию под �½азва�½ием
App Extensions,
с помощью которой, Вы сможете делиться
фу�½кцио�½аль�½остью Вашего приложе�½ия с другими приложе�½иями, и из самой ОС.
Оди�½ из этих типов расшире�½ий являются
Today Extensions,
также извест�½ые как
Widgets.
О�½и предоставляют Вам возмож�½ость вводить
и�½формацию в Це�½тр Уведомле�½ия, который является отлич�½ым способом предоставле�½ия самой актуаль�½ой и�½формации, которой
и�½тересуется пользователь.
В этой статье, Вы �½апишете приложе�½ие �½а ос�½ове расшире�½ия
Today Extension,
которое представит текущую ры�½оч�½ую стоимость
Bitcoin
�½а ос�½ове доллара США.
Еще �½икогда �½е было так просто и так быстро предоставлять �½уж�½ую и�½формацию для Ваших пользователей. Давайте �½ач�½ем!
Bitcoin /
Биткой�½
Для тех, кто еще �½е з�½аком с
Bitcoin
это цифровая криптовалюта, которая еще �½аходиться в периоде ста�½овле�½ия. Кроме использова�½ия
его для од�½ора�½говых обме�½ов и покупок,
Bitcoin
позволяет пользователю обме�½ивать их �½а другие криптовалюты такие как
Dogecoin
и
Litecoin
или �½а доллары США или Евро.
Так как, это от�½оситель�½о �½овая валюта, ее ры�½оч�½ая стоимость колеблется поми�½ут�½о; были как огром�½ые пики так и спады за весь период
ее существова�½ия. Таким образом, это
идеаль�½ый ка�½дидат для
Today Extension,
так как и�½весторы или покупатели захотят з�½ать курс
акций с точ�½остью до секу�½ды!
Crypticker
Поскольку Вы пишете расшире�½ие, для �½ачала работы Вам по�½адобиться готовое приложе�½ие; что ж, пришло время поз�½акомиться с
Crypticker.
Crypticker
простое приложе�½ие, которое отображает текущую це�½у
Bitcoin,
раз�½ицу между вчераш�½ей и текущей це�½ой, а также график
истории це�½. График включает
30-ти
д�½ев�½ую историю; проведя пальцем по графику, Вы увидите точ�½ую це�½у в тече�½ие определе�½�½ого
д�½я.
Расшире�½ие будет содержать все эти фу�½кции, �½о Вы �½е сможете увидеть це�½у в тече�½ие определе�½�½ого д�½я, проведя пальцем по графику.
Есть �½екоторые связи в
Today Extensions,
особе�½�½о когда дело доходит до использова�½ия жестов и м�½огозадач�½ости. Жест часто
активируется проведе�½ием пальца между
Today Extensions
и Це�½тром Уведомле�½ия, таким образом, �½е �½уж�½о иметь большой
пользовательский опыт для ее выпол�½е�½ия.
Приступим к работе
Вам �½еобходимо скачать стартовый проект
Crypticker,
чтобы �½ачать работу. Проект содержит приложе�½ия
Crypticker,
как �½аписа�½�½о выше. В
этой статье мы �½е будем фокусироваться �½а разработке самого приложе�½ия, таким образом, Вы будете прият�½о удивле�½ы краткостью этой
статьй. В ко�½це ко�½цов, Вы �½апишете расшире�½ие, �½о �½е целое приложе�½ие.
Скомпилируем и запускаем приложе�½ие. Пожалуйста, обратите в�½има�½ие, что Вам потребуется подключе�½ие к И�½тер�½ету, чтобы увидеть
це�½у в режиме реаль�½ого време�½и с помощью веб-службы.
Приложе�½ие выглядит подоб�½о скри�½шоту; отображаемые да�½�½ые будут, ко�½еч�½о, зависеть от того, как будут обстоять дела �½а ры�½ке
Bitcoin.
Прикос�½ове�½ие к диаграмме возле �½иж�½ей части, появиться ли�½ия и отобразит це�½у за соответствующий де�½ь.
Для тех, кто еще �½е з�½ает
BTC
это сокраще�½�½ая форма для
Bitcoin;
так же, как
USD
обоз�½ачает доллар США.
Today Extension
представит
уме�½ьше�½�½ую версию ос�½ов�½ого представле�½ия о
Crypticker.
Теоретически, у приложе�½ия
Crypticker
есть возмож�½ость показать це�½ообразова�½ие для �½ескольких криптовалюта, �½о �½аше расшире�½ие
пред�½аз�½аче�½о только для
BTC.
Поэтому, о�½о �½азывается
BTC Widget.
Примеча�½ие:
У расшире�½ий, по своей природе, есть всего од�½а простая фу�½кцио�½ирова�½ия цель. Если Вы хотите отобразить и�½формацию
для другой криптовалюти, таких как
Dogecoin,
то лучше всего создать другой виджет и вместе с �½им приложе�½ием или разработать Ваш
UI
соответстве�½�½ым образом, �½апример, �½а подобие виджета
Stocks.
К ко�½цу статьй, ваш
Today Extension
будет выглядеть пример�½о так:
Добавле�½ие
Target Today Extension
Расшире�½ия созда�½ы в виде отдель�½ого двоич�½ого файла, получе�½�½ые от их�½его приложе�½ия-хоста. Таким образом, вы долж�½ы будете
добавить
target Today Extension
к проекту
Crypticker.
В
Xcode
в
Project Navigato,
выберите проект
Crypticker
и добавьте �½овый
target,
Editor\Add Target…
Тогда выбираем
iOS\Application
Extension\Today Extension.
И жмем к�½опку
Next.
В
Product Name
впишите
BTC Widget,
и убедитесь, что языком программирова�½ия выбрат
Swift,
и что проект
Embed in Application
являются
Crypticker.
И �½ажимаем
Finish.
При запросе �½уж�½о активировать схему
BTC Widget.
Поскольку текст указывает, что для Вас будет созда�½а другая схема для запуска в
Xcode.
Поздравляем! Теперь
BTC Widget
появится в Вашем списке
targets.
Удостоверьтесь, что Вы выбрали
BTC Widget,
тогда вкладку
«General»,
а затем �½ажмите к�½опку
+,
которая �½аходиться под строкой
Linked
Frameworks and Libraries.
Как показа�½о �½а рису�½ку:
Выберите
CryptoCurrencyKit.framework
и �½ажмите
Add.
CryptoCurrencyKit
пользовательский фреймворк, который используеться приложе�½ием
Crypticke
для получе�½ия це�½ и валюты из сети. К
счастью для Вас, �½евероят�½о добрый и вдумчивый разработчик
Crypticker
приме�½ил модуль�½ое проектирова�½ие для кода, превратив его в
фреймворк, так, чтоб �½есколько
targets
могли его использовать.
В целях обме�½а да�½�½ыми между приложе�½ием-хостом и его расшире�½иями �½еобходимо использовать пользовательский фреймворк. Если Вы
этого �½е сделаете, Вам �½уж�½о будет продублировать код м�½ого раз, и �½арушить важ�½ое правило программ�½ой и�½же�½ерии:
DRY —
или,
Не
повторяйся. Я повторю это с�½ова:
«Не
повторяйся».
С этого моме�½та, Вы можете приступить к реализации расшире�½ие.
Обратите в�½има�½ие, теперь у Вас есть группа в
Project navigator,
�½азва�½а име�½ем вашего �½ового
targeta,
BTC Widget.
Име�½�½о здесь код
Today Extension
�½аходится по умолча�½ию.
Развер�½ите группу, и Вы увидите ко�½троллер представле�½ия,
storyboard
и файл
Info.plist.
Его целевая ко�½фигурация также указывает ему
загрузить свой и�½терфейс из
MainInterface.storyboard,
который содержит оди�½ ко�½троллер представле�½ия с �½аз�½аче�½�½ым классом к
TodayViewController.swift.
Вы заметите, что �½екоторые файлы, которые долж�½ы быть в шабло�½е
Today Extension,
отсутствуют; �½апример как делегат приложе�½ие.
Пом�½ите, что расшире�½ия работают в�½утри другого приложе�½ия-хоста, таким образом, что �½е проходят через традицио�½�½ый жиз�½е�½�½ый цикл
приложе�½ия.
Фактически, жиз�½е�½�½ый цикл расшире�½ия отображается �½а жиз�½е�½�½ом цикле
TodayViewController
Откройте
MainInterface.storyboard
и Вы увидите тем�½о-яркий фо�½ со светлой �½адписью
«Hello World». Today Extensions
имеют
изображе�½ия �½аиболее высокой чёткости с светлым фо�½ом и светлым или ярким цвет�½ым текстом, который прекрас�½о гармо�½ирует с тем�½ым,
размытым фо�½ом Це�½тра Уведомле�½ия/Notification
Center.
Убедитесь, что выбра�½
target
BTC Widget
�½а па�½ели и�½струме�½тов
Xcode,
скомпелирова�½�½ая и запуще�½а. В результате чего появится ок�½о с
запросом разреше�½ия �½а запуск приложе�½ия.
Xcode
спросит Вас, какое приложе�½ие-хост вы хотите запустить. Выберите
Today.
Это
указывает �½а то что
IOS
откроет Це�½тр уведомле�½ий �½а па�½ели
Today,
который в свою очередь запускает Ваш виджет. Це�½тр уведомле�½ий
это фактически приложе�½ие-хост для
Today Extensions.
Zgłoś jeśli naruszono regulamin