Обсуждение

Обсуждение

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

{

«background.png»: "",

«background@2x.png»: "",

«background-568@2x.png»: "",

«icon.png»: "",

«icon@2x.png»: "",

«logo.png»: "",

«logo@2x.png»: "",

«pass.json»: "",

«thumbnail.png»: "",

«thumbnail@2x.png»: ""

}

А теперь начинается самое интересное. Нужно рассчитывать SHA1-хеши всех этих файлов. Учтите, что теперь при каждом изменении файлов (например, вы нашли ошибку в файле pass.json и исправили ее) потребуется также пересчитывать SHA1-хеш и записывать новое значение этого хеша в файле manifest.json. Чтобы рассчитать значение SHA1-хеша для любого файла в операционной системе OS X, просто выполните следующие шаги.

1. Откройте окно терминала и перейдите в каталог, где находится целевой файл (для этого используется команда cd).

2. Выполните в окне терминала команду openssl. В качестве ее первого аргумента сообщите sha1, в качестве второго — имя файла.

Например, в каталоге с моим проектом есть подкаталог pass. В этот каталог я поместил мой файл pass.json, полупустой файл manifest.json, а также все изображения для талона (фоновое изображение, логотип и т. д.). Теперь в окне терминала я рассчитаю значения SHA1-хешей для всех этих файлов и запишу полученные значения в файл описания. Итак, в первой строке следующего листинга идет команда openssl, а все остальные строки — это значения хешей, полученные в качестве вывода:

openssl sha1 *.png *.json

SHA1(background-568h@2x.png)= e2aaf36f4037b2a4008240dc2d13652aad6a15bb

SHA1(background.png)= b21a92dedb89f8b731adabc299b054907de2347d

SHA1(background@2x.png)= 6abab0f77fd89f1a213940fd5c36792b4cc6b264

SHA1(icon.png)= ed698ab24c5bd7f0e7496b2897ec054bbd4 26747

SHA1(icon@2x.png)= 90381c84cfea22136c951ddb3b368ade71f49eef

SHA1(logo.png)= c3bd8c5533b6c9f500bbadbdd957b9eac8a6bfe9

SHA1(logo@2x.png)= 1a56a5564dec5e8742ad65dc47aa9bd64c39222f

SHA1(thumbnail.png)= 58883d22196eb73f33ea556a4b7ea735f90a6213

SHA1(thumbnail@2x.png)= 0903df90165ef1a8909a15b4f652132c273 68560

SHA1(manifest.json)= 894f795b991681de8b12101afb8c2984bf8d0f65

SHA1(pass.json)= c5acddbab742f488867c34882c55ca14efff0de9

Мы рассчитали SHA1-хеши всех файлов, в том числе хеш manifest.json. Однако SHA1-хеш файла manifest.json нам не понадобится, так как он содержит хеши всех остальных файлов, а своего собственного хеша не имеет. Поэтому мы просто игнорируем хеш файла manifest.json.

Итак, теперь требуется заполнить файл manifest.json значениями SHA1 всех остальных файлов — эти хеши мы только что рассчитали:

{

«background.png»: «b21a92dedb89f8b731adabc299b054907de2347d»,

«background@2x.png»: «6abab0f77fd89f1a213940fd5c36792b4cc6b264»,

«background-568@2x.png»: «e2aaf36f4037b2a4008240dc2d13652aad6a15bb»,

«icon.png»: «ed698ab24c5bd7f0e7496b2897ec054bbd4 26747»,

«icon@2x.png»: «90381c84cfea22136c951ddb3b368ade71f49eef»,

«logo.png»: «c3bd8c5533b6c9f500bbadbdd957b9eac8a6bfe9»,

«logo@2x.png»: «1a56a5564dec5e8742ad65dc47aa9bd64c39222f»,

«pass.json»: «c5acddbab742f488867c34882c55ca14efff0de9»,

«thumbnail.png»: «58883d22196eb73f33ea556a4b7ea735f90a6213»,

«thumbnail@2x.png»: «0903df90165ef1a8909a15b4f652132c273 68560»

}

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

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Обсуждение

Из книги автора

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


Обсуждение

Из книги автора

Обсуждение Фреймворк Assets Library — удобный посредник между разработчиком и библиотекой фотографий. Как будет указано в разделе 13.6, в iOS SDK вам предоставляются встроенные компоненты графического пользовательского интерфейса, которыми можно пользоваться для доступа к


Обсуждение

Из книги автора

Обсуждение Чтобы пользователь мог выбирать фотоснимки или видеоролики из своей библиотеки фотографий, необходимо установить свойство sourceType экземпляра UIImagePickerController в значение UIImagePickerControllerSourceTypePhotoLibrary и только потом открывать перед пользователем инструмент для выбора


Обсуждение

Из книги автора

Обсуждение Библиотека ресурсов подразделяется на группы. В каждой группе содержатся ресурсы, а каждый ресурс имеет свойства, например URL (универсальные локаторы ресурсов) и объекты представления.Все ресурсы всех типов можно получать из библиотеки ресурсов с помощью


Обсуждение

Из книги автора

Обсуждение Класс UIVideoEditorController, содержащийся в iOS SDK, позволяет программисту вывести на экран перед пользователем специальный интерфейс для редактирования. Все, что требуется сделать, — предоставить URL видеоролика, который предполагается отредактировать, а потом


Обсуждение

Из книги автора

Обсуждение В зависимости от того, на работу в какой версии iOS рассчитано ваше приложение, его можно запускать и выполнять на различных устройствах, где установлены разные версии iOS. Например, вы можете разрабатывать приложение в последней версии iOS SDK, но в качестве целевой


Обсуждение

Из книги автора

Обсуждение Когда приложение переходит в фоновый режим, работа его основного потока приостанавливается. Потоки, которые вы создаете в своем приложении с помощью метода класса detachNewThreadSelector: toTarget: withObject:, относящегося к классу NSThread, также приостанавливаются. Если вы


Обсуждение

Из книги автора

Обсуждение Многие приложения, ежедневно поступающие на рынок App Store, обладают возможностями соединения с теми или иными серверами. Некоторые выбирают с сервера данные для обновления, другие отсылают информацию на сервер и т. д. В течение долгого времени в iOS существовал


Обсуждение

Из книги автора

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


Обсуждение

Из книги автора

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


Обсуждение

Из книги автора

Обсуждение Допустим, пустое приложение iOS (то есть приложение всего с одним окном, для которого еще не написан код) впервые запускается на устройстве с iOS, поддерживающем работу в многозадачном режиме. Оно запускается именно впервые, а не возвращается из фонового режима в


Обсуждение

Из книги автора

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


Обсуждение

Из книги автора

Обсуждение Пока ваше приложение работает в фоновом режиме, может произойти многое! Например, пользователь может вдруг изменить локализацию устройства с iOS на странице Settings (Настройки) и задать, к примеру, испанский язык вместо английского. Приложения могут


Обсуждение

Из книги автора

Обсуждение В приложениях, написанных для iOS, файл пакета настроек может быть предоставлен пользователю для внесения собственных настроек. Эти настройки будут доступны пользователю в приложении (Settings) на устройстве. Чтобы лучше понять, как работает этот механизм,


Обсуждение

Из книги автора

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