Создание первой передачи

В этом учебном руководстве Вы загрузите и отредактируете демонстрационную передачу, создадите его и просмотрите его в приложении Средства моделирования iOS.

Тематическое исследование: очень Простой купон

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

В этом учебном руководстве Вы установите свою среду для разработки передачи, подпишете одну из демонстрационных передач, и затем внесете некоторые незначительные изменения в ту передачу.

Создание и заполнение пакета передачи

Передачи создаются как пакет, содержащий a pass.json файл, определяющий передачу и активы изображения, такие как логотип и значок.

Для создания пакета передачи для передачи сделайте следующее:

  1. Сделайте новый каталог в папке Documents вызванным Lollipop.pass. .pass расширение является наиболее успешной практикой, чтобы указать, что каталог является пакетом передачи.

  2. Загрузите сопутствующий файл этой книги (ссылка около начала страницы), и найдите купон в каталоге Sample Passes.

  3. Откройте необработанный пакет передачи и скопируйте файлы, которые он содержит к Вашему Lollipop.pass каталог.

Установка идентификатора типа передачи и команды ID

Каждая передача имеет идентификатор типа передачи, связанный с учетной записью разработчика. Идентификаторами типов передачи управляет в Задействованном Центре администратор команды. Для создания этой передачи необходимо запросить и сконфигурировать идентификатор типа передачи. (Вы не можете использовать идентификатор типа передачи, который уже находится в передаче, потому что это не связано с Вашей учетной записью разработчика.)

Для регистрации идентификатора типа передачи сделайте следующее:

  1. В Сертификатах, Идентификаторах и Профилях, выбирают Identifiers.

  2. Под Идентификаторами выберите Pass Type IDs.

  3. Щелкните плюс (+) кнопка.

  4. Введите описание и передайте идентификатор типа и нажмите Submit.

Для нахождения Команды ID сделайте следующее:

  1. Откройте Keychain Access и выберите свой сертификат.

  2. Выберите File> Get Info и найдите раздел Organizational Unit под Подробными данными. Это - Ваша Команда ID.

    Идентификатор типа передачи появляется в сертификате под разделом User ID.

Отредактируйте pass.json файл и изменение идентификатор типа передачи к идентификатору Вы просто устанавливаете и изменяете Команду ID для соответствия значений, которые Вы просто нашли.

Перечисление 1-1  , Устанавливающее идентификатор типа передачи и Команду ID

{
    ...
    "passTypeIdentifier" : "your pass type identifier",
    "teamIdentifier" : "your Team ID",
    ...
}

Подписание и сжатие передачи

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

Для загрузки сертификата подписания передачи сделайте следующее:

  1. В Сертификатах, Идентификаторах и Профилях, выбирают Identifiers.

  2. Под Идентификаторами выберите Pass Type IDs.

  3. Выберите идентификатор типа передачи, затем нажмите Edit.

  4. Если существует сертификат, перечисленный в соответствии с Производственными Сертификатами, щелкните по Кнопке загрузки рядом с ним.

    Если нет никаких перечисленных сертификатов, не нажимают кнопку Create Certificate, то следуют инструкциям для создания сертификата подписания передачи.

Добираться signpass инструмент, сделайте следующее:

  1. Загрузите сопутствующий файл этой книги (ссылка около начала страницы), и найдите signpass проект.

  2. Откройте проект в XCode и создайте его.

  3. Щелкните правой кнопкой по signpass исполнимая программа (в папке продуктов в XCode) и выбирает Show in Finder.

  4. Переместитесь signpass исполнимая программа к папке Documents.

Чтобы подписать и сжать передачу, используйте signpass инструмент для подписания пакета передачи. В Терминале, выполненном следующие команды:

cd ~/Documents
./signpass -p Lollipop.pass

Это создает и сжатую названную передачу со знаком Lollipop.pkpass в папке Documents. Если signpass сбои команды, удостоверьтесь, что Вы используете свой корректный идентификатор типа передачи и проверяете что pass.json файл содержит допустимый JSON.

Изменение предложения

Демонстрационная передача уже является купоном, но она не имеет правильных подробных данных для кондитерской. Во-первых, измените описание и название организации. Найдите следующие ключи pass.json файл и изменение их значения:

Перечисление 1-2  , Устанавливающее описание и название организации

{
    ...
    "description" : "Coupon for a free lollipop at Example Candy Store",
    "logoText" : "Example Candy Store",
    ...
}

Затем, передача должна описать фактическое предложение. Это требует трех уровней ключей, как показано в Перечислении 1-3. На верхнем уровне найдите coupon ключ, указывающий, что эта передача является купоном. Его значение является словарем, описывающим купон. На втором уровне найдите primaryFields ключ, показывающий текст на передней стороне передачи для предложения. Его значение является словарем, описывающим содержание поля. На третьем уровне ключ является строкой, однозначно определяющей поле в передаче, и значение и метка содержат текст, появляющийся на передаче. Измените их значения для описания предложения кондитерской.

Перечисление 1-3  , Описывающее предложение

{
    ...
    "description" : "Coupon for a free lollipop at Example Candy Store",
    "logoText" : "Example Candy Store",
 
    "coupon" : {
        "primaryFields" : [
            {
                "key": "offer",
                "value": "Free lollipop"
                "label": "On July 29"
            }
        ]
    },
    ...
}

На втором уровне передачи найдите auxiliaryFields и backFields ключи. Удалите эти ключи и их значения.

Просмотр передачи

Самый простой способ видеть, на что передача похожа во время разработки, находится в приложении Средства моделирования iOS. Для просмотра передачи запустите Средство моделирования и перетащите Lollipop.pkpass файл в окно Simulator. Это выводит на экран передачу и предлагает добавлять его к Сберкнижке, как показано на рисунке 1-1.

Рисунок 1-1  , Просматривающий законченную передачу

При тестировании в приложении Средства моделирования iOS ошибки регистрируются к системному журналу, который можно просмотреть с Консольным приложением. Если передача не выводит на экран или не удается добавить к Сберкнижке, проверьте журнал на описание того, что пошло не так, как надо.