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

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

Жанры

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

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

Шрифт:

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

Предполагается, что вы уже настроили на портале разработчика ваши сертификаты для разработки и распространения приложения. Чтобы автоматически сконфигурировать сертификаты, можете воспользоваться новой настройкой Accounts (Учетные записи), появившейся в Xcode. Просто перейдите в раздел Xcode Preferences (Настройки), в нем откройте область Accounts (Учетные записи). Добавьте в список учетных записей ваш идентификатор Apple ID, а далее Xcode сконфигурирует сертификаты за вас.

1. Войдите в центр для разработки для iOS.

2. Перейдите в раздел Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили) — он расположен справа.

3. В разделе Identifiers (Идентификаторы) создайте для себя новый идентификатор App ID. Он должен иметь валидный Explicit App ID (явный идентификатор приложения), например com.pixolity.ios.cookbook.PushNotificationApp. Обратите внимание: это имя построено по принципу обратной записи домена в стиле, который я выбрал для этого приложения. Выберите такой идентификатор приложения в стиле обратной записи домена, который подходит вам и вашей организации.

4. В разделе App Services (Сервисы приложения) на странице идентификатора приложения убедитесь, что установили флажок для пуш-уведомлений (Push Notifications) (рис. 15.5).

Рис. 15.5. Активизация пуш-уведомлений для App ID

5. Как только вас устроит конфигурация идентификатора приложения (рис. 15.6), отправьте ваш App ID в Apple.

Рис. 15.6. Создание идентификатора приложения с поддержкой пуш-уведомлений

6. После того как настроите все детали конфигурации идентификатора приложения, перейдите в раздел Provisioning Profiles (Профили инициализации) вашего iOS-портала.

7. Создайте профиль инициализации для разработки (Development). Позже вы можете создать и другие профили — Ad Hoc и App Store, так что об этом не волнуйтесь. Когда будете готовы отправить ваше приложение в App Store, можете просто вернуться к этому шагу и сгенерировать профили Ad Hoc и App Store.

8. Убедитесь, что новый профиль инициализации для разработки приложения связан с идентификатором приложения, который вы сгенерировали ранее. Это первый вопрос, который у вас попытается выяснить система при генерации профиля инициализации.

9. Когда профиль будет готов, скачайте его и перетащите в программу iTunes на своем компьютере, чтобы установить. При установке профиля не делайте двойных щелчков на нем. При двойном щелчке кнопкой мыши имя файла установленного профиля будет сброшено и заменено хеш-именем MD5, по которому файл очень сложно идентифицировать на диске. Если вы аккуратно перетащите профиль в iTunes, то iTunes установит профиль под его оригинальным именем.

10. В Xcode в настройках сборки вашего приложения просто выберите сборку в соответствии с тем профилем, который только что создали. Убедитесь, что при разработке (схема Development) вы используете именно этот профиль, а затем примените в схеме Release (Релиз) профиль App Store или Ad Hoc, созданием которых займетесь позже.

11. Перетащите ваш профиль инициализации в текстовый редактор для OS X — например, в TextEdit. Найдите в файле профиля ключ Entitlements. Весь этот раздел моего профиля инициализации выглядит так:

<key>Entitlements</key>

<dict>

<key>application-identifier</key>

<string>F3FU372W5M.com.pixolity.ios.cookbook.PushNotificationApp</string>

<key>aps-environment</key>

<string>development</string>

<key>get-task-allow</key>

<true/>

<key>keychain-access-groups</key>

<array>

<string>F3FU372W5M.*</string>

</array>

</dict>

12. Создайте новый PLIST-файл для вашего проекта в Xcode, назовите этот файл Entitlements.plist. В Xcode щелкните на этом файле правой кнопкой мыши, выберите Open As (Открыть как) и далее Source Code (Исходный код). Содержимое вашего файла изначально будет выглядеть вот так:

<plist version="1.0">

<dict/>

</plist>

13. Поместите разрешения вашего профиля инициализации прямо в файл Entitlements.plist, чтобы его содержимое выглядело вот так:

<plist version="1.0">

<dict>

<key>application-identifier</key>

<string>F3FU372W5M.com.pixolity.ios.cookbook.PushNotificationApp</string>

<key>aps-environment</key>

<string>development</string>

<key>get-task-allow</key>

<true/>

<key>keychain-access-groups</key>

<array>

<string>F3FU372W5M.*</string>

</array>

</dict>

</plist>

Значения, приведенные в рассматриваемых здесь листингах, относятся к профилям, которые создал я. В вашем профиле будут другие значения и, конечно же, будет другой идентификатор приложения (App ID). Поэтому внимательно выполните предыдущие шаги, чтобы правильно создать идентификатор вашего приложения и профиль. Потом возьмите разрешения из своего профиля и вставьте их в файл Entitlements.plist вашего проекта.

14. Далее перейдите в настройки сборки вашего проекта. В разделе Code Signing Entitlements (Разрешения для подписания кода) введите значение $(SRCROOT)/$(TARGET_NAME)/Entitlements.plist (если создали файл разрешений в целевом каталоге проекта) или $(SRCROOT)/Entitlements.plist (если создали файл разрешений в корневом каталоге, включающем в себя весь исходный код). Если не знаете, какой вариант выбрать, просто попробуйте оба этих значения, попытайтесь собрать проект с каждым из них. Если Xcode сообщит, что не может найти файл разрешений, поставьте второе значение, и оно сработает. Настройка сборки Code Signing Entitlements (Разрешения для подписания кода) требует указания относительного пути, идущего к файлу разрешений от корневого каталога исходного кода. Поэтому, если вы поместите файл разрешений в какой-то другой каталог, вам потребуется выстроить этот путь вручную, а потом записать полученный путь в это поле.

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

Кодекс Охотника. Книга XXXIII

Винокуров Юрий
33. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Кодекс Охотника. Книга XXXIII

Мальвиль

Мерль Робер
Фантастика:
социально-философская фантастика
научная фантастика
альтернативная история
8.29
рейтинг книги
Мальвиль

Кодекс Охотника XXXI

Винокуров Юрий
31. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника XXXI

Приключения русского дебютанта

Штейнгарт Гари
Проза:
современная проза
5.00
рейтинг книги
Приключения русского дебютанта

На границе империй. Том 10. Часть 10

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 10

Наномашины, внучок! Том 2

Новиков Николай Васильевич
2. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наномашины, внучок! Том 2

Ким

Киплинг Редьярд Джозеф
Приключения:
исторические приключения
7.62
рейтинг книги
Ким

Кодекс Крови. Книга V

Борзых М.
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга V

Петля, Кадетский Корпус. Книга четвертая

Алексеев Евгений Артемович
4. Петля
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Петля, Кадетский Корпус. Книга четвертая

Гримуар темного лорда V

Грехов Тимофей
5. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда V

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

Черный Маг Императора 12

Герда Александр
12. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 12