Читаем iOS. Приемы программирования полностью

Класс CMMotionManager позволяет программисту получить от операционной системы iOS обновления данных гироскопа. Сначала нужно убедиться в том, что гироскоп имеется в том устройстве с iOS, где работает ваше приложение (подробнее об этом рассказано в разделе 18.2). Убедившись в этом, можно вызвать метод экземпляра setGyroUpdateInterval:, относящийся к классу CMMotionManager, чтобы задать количество обновлений, которые вы хотите получать от гироскопа в секунду. Например, если вам требуется N обновлений в секунду, задайте здесь значение 1.0/N.

Установив интервал обновлений, можно вызвать метод экземпляра startGyroUpdatesToQueue: withHandler:, относящийся к классу CMMotionManager, — так задается блок для обработки обновлений. О блоках подробнее рассказано в главе 7. Блоковый объект должен относиться к типу CMGyroHandler, принимающему два параметра.

• gyroData — данные, поступающие от гироскопа, заключены в объекте типа CMGyroData. Можно использовать свойство rotationRate класса CMGyroData (это структура) для получения доступа к значениям x, y и z. Эти значения представляют три эйлерова угла, называемых соответственно крен, тангаж и рыскание. Подробнее эти углы рассматриваются в работах по аэродинамике.

• error — ошибка типа NSError, которая может возникнуть, когда гироскоп посылает нам обновления.

Если вы не хотите работать с блоковыми объектами, нужно вызвать метод экземпляра startGyroUpdates, относящийся к классу CMMotionManager, — вместо метода экземпляра startGyroUpdatesToQueue: withHandler: того же класса, — а также создать специальный собственный поток. В этом потоке мы будем считывать обновления, поступающие от гироскопа и передаваемые свойству gyroData экземпляра используемого нами класса CMMotionManager.

<p>См. также</p>

Раздел 18.2.

<p>Глава 19. Фреймворк Pass Kit</p><p>19.0. Введение</p>

Пожалуй, всем приходилось иметь дело с проездными билетами, дисконтными картами и скидочными талонами. Например, вы ходите в кофейню, в которой постоянным клиентам раздают специальные дисконтные карты. Если вы уже успели заказать определенное количество чашек кофе, то вам предложат бесплатную чашечку за счет заведения. Дисконтные карты используются и в магазинах. Например, вы можете купить в супермаркете продукты на сумму X, за что вам выдадут дисконтную карту или скидочный купон, которые можно будет использовать, когда вы в следующий раз придете в этот магазин.

На рис. 19.1 показано, как на устройстве с iOS выглядит обычный (бесплатный) железнодорожный билет, отображенный в Passbook.

Рис. 19.1. Железнодорожный билет, представленный в виде талона в приложении Passbook на устройстве с iOS

Приложения iOS для взаимодействия с такими бесплатными билетами могут использовать также фреймворк Passbook. Вернемся к примеру с кофейней. Если мы пишем мобильное приложение для этой кофейни, то можем предусмотреть в нем и такую возможность: посетитель добавляет к дисконтной карточке некоторую сумму, что позволяет ему не только выпить кофе, но и воспользоваться Wi-Fi-соединением. Итак, когда пользователь открывает такое приложение, он замечает в базе данных Passbook клубный талон, полученный именно в этой кофейне. Пользователь может добавить некоторую сумму к этому талону прямо на устройстве, а затем сообщить барриста, что внес плату за пользование сетью через приложение, где имеется виртуальный клубный талон.

Pass Kit — это цифровое решение от Apple для осуществления именно таких транзакций. Итак, разберемся с терминологией, а затем изучим эту тему подробнее.

• Pass Kit. Фреймворк Pass Kit от Apple позволяет разработчикам доставлять виртуальные скидочные талоны, снабженные цифровой подписью, на совместимые устройства с операционной системой iOS 6 и выше.

 Passbook. Клиентское приложение на устройствах с iOS 7. Позволяет хранить и обрабатывать талоны, созданные разработчиками, а также управлять этими талонами.

Итак, мы (разработчики) будем пользоваться Pass Kit для создания талонов с цифровой подписью и доставки их нашим пользователям. Пользователям потребуется взаимодействовать с талонами, которые мы для них создаем, для этого они будут использовать приложение Passbook, установленное на устройстве. Итак, мы сможем выдавать пользователям в цифровой форме различные талоны, проездные билеты, скидочные купоны, дисконтные и клубные карты и т. д. Не придется носить целую стопку карточек в кошельке. Весь этот контент можно хранить в одном месте — в приложении Passbook для iOS.

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

1. Разработчик создает сертификат и соответствующий ему закрытый ключ. Это делается на портале инициализации Apple (Apple Provisioning Portal).

Перейти на страницу:

Все книги серии Бестселлеры O'Reilly

Искусство управления IT-проектами
Искусство управления IT-проектами

В отличие от множества трудов, посвященных руководству проектами и командами, в этой книге не проповедуются никакие новые учения и не превозносятся великие теории. Скотт Беркун считает залогом успеха практику и разнообразие подходов. В книге описываются основные сложности и проблемные ситуации, возникающие в работе менеджера проекта, даны рекомендации по выходу из них.Издание предназначено не только для лидеров команд и менеджеров высшего звена, но и для программистов, тестеров и других исполнителей конкретных проектных заданий. Также оно будет полезно студентам, изучающим бизнес-менеджмент, проектирование изделий или программную инженерию.Текст нового издания значительно переработан автором с целью добиться большей ясности, кроме того, книга дополнена новым приложением и более чем 120 практическими упражнениями.

Скотт Беркун

Деловая литература
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных