Как исправить «для приложения не найдена действительная строка прав« aps-среда »» в Xcode 4.3?

Я очень-очень старался создать простое приложение для iOS, которое может получать push-уведомления. Единственная причина, по которой я это делаю, — установить процедуру для использования некоторыми другими членами команды, и я не смог найти обновленную рабочую версию таких инструкций где-либо еще в Интернете. Наш магазин довольно новичок в iOS-разработке, лично у меня нет опыта работы с iOS-разработкой и Xcode. Я наткнулся на десятки руководств, статей и сообщений о проблемах от Apple и других источников, и мне кажется, что я почти достиг цели...

Вот где я должен (обратите внимание, я использую Xcode 4.3 и сначала пытаюсь развернуть только на iOS 5.1, и я понимаю, что некоторые вещи могли недавно измениться по сравнению с более ранними версиями Xcode, но опять же, я новичок во всем этом - и нахожу это совершенно запутанным и запутанным):

1) У меня есть профиль обеспечения на моем iPhone с включенной функцией Push

2) В моем тестовом проекте Xcode этот профиль подготовки выбран в качестве идентификатора подписи (в настройках сборки > Подписание кода)

enter image description here

3) У меня есть идентификатор пакета под Сводка и информация > Пользовательские свойства цели iOS установлены правильно* (я думаю??)

4) У меня есть registerForRemoteNotificationTypes, вызываемый в didFinishLaunchingWithOptions моего делегата

5) У меня есть didRegisterForRemoteNotificationsWithDeviceToken и didFailToRegisterForRemoteNotificationsWithError в моем делегате, установите вверх, чтобы зарегистрировать токен устройства или ошибку соответственно

6) Я установил флажок «Включить права» в разделе «Сводка».

7) Прямо под выбранным файлом прав Tinker6 (название моего тестового проекта), который был сгенерирован автоматически, когда я установил флажок «Включить права»

8) В файле прав Tinker6.entitlements у меня есть следующее ( который я собрал, является правильным на основе нескольких разных сообщений в Интернете, но я не могу найти ничего определенного от самой Apple):

enter image description here

Обновлено

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 для производства, все четыре возможные комбинации, одно и то же.

Как это обойти? Где исчерпывающая документация по этому поводу?

-- следует дополнительная информация--

* Что касается идентификатора пакета, мне до сих пор не ясно, как его следует установить по отношению к идентификаторам приложений и идентификаторам профилей в профиле обеспечения. . На портале подготовки в разделе «Идентификаторы приложений» у меня есть это (опять же, перепутал номер и домен):

enter image description here

И два идентификатора пакета мест установлены. У меня есть это:

enter image description here enter image description here

Я совсем не уверен, что это правильно или одно или оба должны быть установлены на 12355456A7.com.whatever.tinker, хотя я пробовал и те, что были раньше, но безуспешно...

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

152
задан jwl 14 June 2012 в 14:56
поделиться