Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы NewsstandKit

О платформе набора киоска

Классы   Другая ссылка  

Вы используете платформу Ньюсстэнда Кита для разработки клиентской стороны приложения Ньюсстэнда. Через Ньюсстэнда пользователи могут просмотреть газеты и журналы, оптимизированные для просмотра на мобильных устройствах.

Платформа Ньюсстэнда Кита имеет три класса:

  • NKLibrary— Представляет библиотеку приложения проблем киоска.

  • NKIssue— Представляет проблему публикации в библиотеке.

  • NKAssetDownload— Представляет актив, загружающийся (или это загрузило) от сервера приложения.

    Актив может быть компонентом онлайновой проблемы, такой как HTML или файл образа. Это может также быть сжатый архив (такой как файл ZIP), что, когда-то несжатый, содержит все компоненты проблемы в готовой к дисплею форме.

Кроме того, платформа добавляет свойство (через категорию) к NSURLConnection класс. Это свойство связывает соединение URL с загрузкой (или загруженный) актив.

Приложение содержания киоска способно к выполнению в фоновом режиме для запуска загрузок или делегата процесса события, связанные с активами проблемы. Для запроса этой возможности указать newsstand-content как строковое значение одного из элементов матрицы UIBackgroundModes свойство в приложении Info.plist файл. Это свойство также позволяет приложениям быть запущенными в фоновом режиме через уведомления нажатия.

Когда уведомления нажатия инициировали загрузку, следующие шаги описывают общий поток операций для получения содержания киоска. Если уведомления нажатия не включаются, пропустите первый шаг:

  1. Когда существует новая проблема для загрузки, серверная сторона приложения отправляет уведомление нажатия клиентским приложениям.

    Если приложение не работает на переднем плане, когда уведомление поставлено, это активировано в фоновом режиме (или начато фон, если необходимый) загружать активы проблемы. Иначе, Вы обрабатываете уведомление, поскольку Вы были бы любое уведомление нажатия. См. Локальное и Удаленное Руководство по программированию Уведомления для получения информации о том, как отправить и обработать уведомления нажатия.

  2. Клиентское приложение связывается с его сервером и заставляет URLs, определяющий местоположение активов проблемы загружать. Это, возможно, также должно было бы получить имя и дату проблемы от сервера. В этой фазе это могло бы также проверить это, пользователь имеет право на подписку, или выполните любую другую требуемую авторизацию.

  3. Клиент получает совместно используемое NKLibrary экземпляр и отправляет a addIssueWithName:date: обменивайтесь сообщениями к нему, передающий на имя проблемы и дату. Этот шаг создает NKIssue объект, представляющий проблему и, добавляет его к библиотеке.

  4. С каждым URL, определяющим местоположение загружаемого актива на сервере приложения, клиент создает NSURLRequest объект.

  5. Для каждого загружаемого актива это тогда отправляет a addAssetWithRequest: обменивайтесь сообщениями к NKIssue объект, передающий в NSURLRequest объект. Этот вызов возвращает a NKAssetDownload объект.

  6. Это тогда вызывает downloadWithDelegate: на NKAssetDownload объект, передающий в объекте делегата, принимающем NSURLConnectionDownloadDelegate протокол.

  7. Делегат контролирует загрузку актива и обновляет индикатор хода выполнения. Когда загрузка закончена, она обрабатывает загруженный актив.

    Обработка могла бы включить распаковку архива или других действий прежде, чем переместить актив в присвоенное расположение проблемы в тестовой среде приложения.

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

  1. Когда приложение запускается, оно может использовать UIApplicationLaunchOptionsNewsstandDownloadsKey ключ для доступа к массиву в launchOptions словаре передал в application:didFinishLaunchingWithOptions:. Если существует массив, он содержит идентификаторы, вызвавшие запуск; они могли быть идентификаторами для загрузок, которые закончили загружать это или не могли завершить загрузку.

  2. Это выполняет итерации через массив NKAssetDownload объекты от downloadingAssets свойство NKLibrary объект и вызовы downloadWithDelegate: на каждом из них. Если это хочет, приложение может использовать идентификаторы актива, полученные на предыдущем шаге для проверки, какие загрузки актива вызвали перезапуск.

  3. NSURLConnectionDownloadDelegate возразите обрабатывает загрузки актива, как это обычно делает.

Платформа Ньюсстэнда Кита ожидает, что все вызовы ее методов будут сделаны на основном потоке; NSURLConnectionDelegate Protocol методы также вызываются на основной поток.

Классы

NSObject

NSObject корневой класс большинства иерархий классов Objective C.

NKAssetDownload

Экземпляр NKAssetDownload класс представляет актив, загружающийся (или загрузил) для проблемы приложения Киоска.

NKIssue

Экземпляр NKIssue класс представляет проблему приложения содержания киоска.

NKLibrary

Экземпляр NKLibrary класс представляет библиотеку проблем для приложения содержания киоска.

Другая ссылка

Дополнения NSURLConnection NewsstandKit