Чтение онлайн

на главную - закладки

Жанры

iOS. Приемы программирования

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

Шрифт:

}

);

key1 = value1;

}

Как видите, словари заключены в квадратные скобки, а массивы — в фигурные. Другие элементы представляют собой обычные пары «ключ — значение». Если бы мы попытались представить этот объект JSON в виде экземпляра NSDictionary, то у нас получился бы такой код:

NSDictionary *json = @{

@"key1": @"value1",

@"key 2 — dictionary": @{

@"key 2.1": @"value 2.1",

@"key 2.2": @"value 2.2",

},

@"key 3 — array": @[

@{

@"array item 1, key1": @"value",

@"array item 1, key2": @"value"

},

@{

@"array item 2, key1": @"value",

@"array item 2, key2": @"value"

}

]

};

Подробнее

о нотации JSON вы можете почитать на сайте JSON.org. Перейдем к созданию файлов талонов. Как уже говорилось, такой файл состоит из обычной нотации JSON. Не путайте файлы талонов и сами талоны. Талон — это коллекция файлов, в которую входит и pass.json. Вся эта коллекция в целом и будет представлять собой талон с цифровой подписью, который пользователь сможет установить на своем устройстве. Файл талона «объясняет», как талон должен быть представлен на устройстве.

Файл pass.json можно создавать с помощью высокоуровневых и низкоуровневых ключей. Высокоуровневыми называются такие ключи, которые сразу же видны в основной иерархии файла pass.json. Низкоуровневые ключи являются дочерними для высокоуровневых. Не волнуйтесь, если пока это не совсем понятно. Я тоже сначала запутался в этой иерархии, но читайте дальше — и стройная картина обязательно сложится.

Начнем с создания файла pass.json в Xcode. Должен вас предупредить, что Xcode, к сожалению, не лучший инструмент для редактирования JSON. Однако это наша основная интегрированная среда разработки, так что продолжим работать в ней. Чтобы создать файл pass.json, выполните следующие шаги.

1. Создайте в Xcode простой проект для iOS, выбрав File — New — Project (Файл — Новый — Проект).

2. В левой части диалогового окна New Project (Новый проект) убедитесь, что находитесь в категории iOS. Затем выберите раздел Other (Другой), а в правой части экрана — вариант Empty (Пустой) (рис. 19.11). Сделав это, нажмите кнопку Next (Далее).

Рис. 19.11. Создание пустого проекта в iOS

3. Теперь укажите имя вашего проекта в поле Product Name (Имя продукта). Сделав это, нажмите кнопку Next (Далее). После этого можете сохранить файл на диске. Когда вы успешно выберете путь для сохранения проекта, появится возможность создать файл pass.json.

4. В новом пустом проекте в Xcode выберите File — New — File (Файл — Новый — Файл).

5. В диалоговом окне New File (Новый файл), будучи в категории iOS, выберите вариант Other (Другой). Справа выберите вариант Empty (Пустой) (рис. 19.12). Сделав это, нажмите кнопку Next (Далее).

Рис. 19.12.

Добавление пустого файла в проект

6. После того как вы нажмете кнопку Next (Далее), вам будет предложено сохранить файл на диске. Убедитесь, что сохраняете его как pass.json. Справившись с этим, нажмите кнопку Create (Создать), и файл будет добавлен на диск в рамках вашего проекта.

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

{

«formatVersion»: 1,

«passTypeIdentifier»: «<# Put your Pass Type ID here #>»,

«serialNumber»: «p69f2J»,

«teamIdentifier»: «<# Put your team ID here #>»,

«description»: «Train Ticket Example»,

«locations»: [

{

«longitude»: -0.1 70867,

«latitude»: 50.8 34948

}

],

«barcode»: {

«message»: «12345 67890»,

«format»: «PKBarcodeFormatPDF417»,

«messageEncoding»: «iso-8859-1»

},

«organizationName»: «O'Reilly Railways»,

«logoText»: «O'Reilly Railways»,

«foregroundColor»: «rgb(255, 255, 255)»,

«backgroundColor»: «rgb(100, 100, 100)»,

«boardingPass»: {

«transitType»: «PKTransitTypeTrain»,

«primaryFields»: [

{

«key»: «departure»,

«label»: «Departs From»,

«value»: «Hove, 07:37»,

},

{

«key»: «departurePlatform»,

«label»: «Departs from Platform»,

«value»: "2",

}

],

«auxiliaryFields»: [

{

«key»: «arrival»,

«label»: «Arrives At»,

«value»: «London Bridge, 08:41»

},

{

«key»: «arrivalPlatform»,

«label»: «Arrives at Platform»,

«value»: «13»

}

],

«backFields»: [

{

«key»: «oreillyRailways»,

«label»: «O'Reilly Railways»,

Поделиться:
Популярные книги

Ученичество. Книга 1

Понарошку Евгений
1. Государственный маг
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ученичество. Книга 1

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Обыкновенные ведьмы средней полосы

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Обыкновенные ведьмы средней полосы

Треск штанов

Ланцов Михаил Алексеевич
6. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Треск штанов

Медиум

Злобин Михаил
1. О чем молчат могилы
Фантастика:
фэнтези
7.90
рейтинг книги
Медиум

"Фантастика 2023-123". Компиляция. Книги 1-25

Харников Александр Петрович
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Фантастика 2023-123. Компиляция. Книги 1-25

Гром над Тверью

Машуков Тимур
1. Гром над миром
Фантастика:
боевая фантастика
5.89
рейтинг книги
Гром над Тверью

Идеальный мир для Лекаря 11

Сапфир Олег
11. Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 11

Совок

Агарев Вадим
1. Совок
Фантастика:
фэнтези
детективная фантастика
попаданцы
8.13
рейтинг книги
Совок

Табу на вожделение. Мечта профессора

Сладкова Людмила Викторовна
4. Яд первой любви
Любовные романы:
современные любовные романы
5.58
рейтинг книги
Табу на вожделение. Мечта профессора

Сонный лекарь 4

Голд Джон
4. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Сонный лекарь 4

Огненный князь 4

Машуков Тимур
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 4

Войны Наследников

Тарс Элиан
9. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Войны Наследников

Бестужев. Служба Государевой Безопасности. Книга вторая

Измайлов Сергей
2. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга вторая