Я очень-очень старался создать простое приложение для iOS, которое может получать push-уведомления. Единственная причина, по которой я это делаю, — установить процедуру для использования некоторыми другими членами команды, и я не смог найти обновленную рабочую версию таких инструкций где-либо еще в Интернете. Наш магазин довольно новичок в iOS-разработке, лично у меня нет опыта работы с iOS-разработкой и Xcode. Я наткнулся на десятки руководств, статей и сообщений о проблемах от Apple и других источников, и мне кажется, что я почти достиг цели...
Вот где я должен (обратите внимание, я использую Xcode 4.3 и сначала пытаюсь развернуть только на iOS 5.1, и я понимаю, что некоторые вещи могли недавно измениться по сравнению с более ранними версиями Xcode, но опять же, я новичок во всем этом - и нахожу это совершенно запутанным и запутанным):
1) У меня есть профиль обеспечения на моем iPhone с включенной функцией Push
2) В моем тестовом проекте Xcode этот профиль подготовки выбран в качестве идентификатора подписи (в настройках сборки > Подписание кода)
3) У меня есть идентификатор пакета под Сводка и информация > Пользовательские свойства цели iOS установлены правильно* (я думаю??)
4) У меня есть registerForRemoteNotificationTypes, вызываемый в didFinishLaunchingWithOptions моего делегата
5) У меня есть didRegisterForRemoteNotificationsWithDeviceToken и didFailToRegisterForRemoteNotificationsWithError в моем делегате, установите вверх, чтобы зарегистрировать токен устройства или ошибку соответственно
6) Я установил флажок «Включить права» в разделе «Сводка».
7) Прямо под выбранным файлом прав Tinker6 (название моего тестового проекта), который был сгенерирован автоматически, когда я установил флажок «Включить права»
8) В файле прав Tinker6.entitlements у меня есть следующее ( который я собрал, является правильным на основе нескольких разных сообщений в Интернете, но я не могу найти ничего определенного от самой Apple):
Обновлено
9) Кроме того, я пробовал все это без файл прав и получить практически тот же результат.
10) Содержимое моего файла mobileprovision правильно включает права (я зашифровал номер и домен, но структурно то же самое):
<key>application-identifier</key>
<string>12355456A7.com.whatever.tinker</string>
<key>aps-environment</key>
<string>development</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>12355456A7.*</string>
</array>
/end update
Когда я пытаюсь запустить это на своем устройстве, я получаю следующее ошибка в выводе Xcode:
2012-06-11 12:45:23.762 Tinker6[13332:707] Failed to get token, error:
Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'
entitlement string found for application" UserInfo=0x24a3b0
{NSLocalizedDescription=no valid 'aps-environment' entitlement string
found for application}
Я пытался установить для get-task-allow значение NO, aps-environment для производства, все четыре возможные комбинации, одно и то же.
Как это обойти? Где исчерпывающая документация по этому поводу?
-- следует дополнительная информация--
* Что касается идентификатора пакета, мне до сих пор не ясно, как его следует установить по отношению к идентификаторам приложений и идентификаторам профилей в профиле обеспечения. . На портале подготовки в разделе «Идентификаторы приложений» у меня есть это (опять же, перепутал номер и домен):
И два идентификатора пакета мест установлены. У меня есть это:
Я совсем не уверен, что это правильно или одно или оба должны быть установлены на 12355456A7.com.whatever.tinker, хотя я пробовал и те, что были раньше, но безуспешно...
ПримечаниеЯ понимаю, что есть много сообщений с похожими заголовками, однако все кажутся устаревшими, основываясь на именах файлов и т. д., а также на том факте, что ни одно из решений не кажется полезным. Я надеюсь, что более высокий уровень детализации, который я дал, гарантирует качественный ответ.Я, вероятно, назначу награду как можно скорее, и если вы дадите качественный ответ, который приведет к решению, я награжу вас наградой, а также продвину ваш ответ через твиттер и мой блог. Особенно, если вы публикуете действительно хорошую статью «вот точные500 шагов, которые вам нужны, чтобы заставить работать простое приложение push-уведомлений, включая подготовку и все остальное» в своем блоге или где-либо еще.