push-уведомления Apple - нет действительной «aps-environment», опробовали все решения, которые я видел в Интернете?

Я рву на себе, пытаясь заставить работать push-уведомления! Я следую этому руководству , но в основном безрезультатно. Я несколько раз удалял xcode, переделывал весь сертификат apple dev, несколько раз очищал брелок для входа в систему. Это помогло решить несколько проблем, но в конце концов я все еще застрял.

Что я думаю, что мне нужно сделать (исходя из опыта других людей): 1) Мой сертификат и ключ openssl должны быть связаны с сервером Apple 2) Идентификатор приложения с этим сертификатом openssl связан профиль подготовки. 3) Сборка (в xcode) должна иметь соответствующий профиль подготовки, связанный с ней 4) Требуется идентификатор сборки (в xcode) чтобы иметь тот же текст, что и идентификатор приложения с профилем обеспечения 4) ???

Насколько я могу судить, все это в порядке:

  1. Мой ssl-сертификат + ключ прекрасно взаимодействуют с сервер Apple (игнорируйте ошибку, я все равно получаю приглашение):

MacBook-Pro: apple_dev_certification nflacco $ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key xxx. pem -cert xxx.pem Введите парольную фразу для xxx.pem: CONNECTED (00000003) depth = 1 / C = US / O = Entrust, Inc./OU=www.entrust.net / rpa включен в качестве ссылки / OU = (c) 2009 Entrust, Inc./ CN = Entrust Certification Authority - L1C verify error: num = 20: невозможно получить сертификат местного эмитента .....

2,3,4) Когда я создаю новый проект, он никогда не получает правильный IP-адрес приложения (настройки сборки-> идентификатор информационного пакета). Если мой профиль обеспечения соответствует «com.xxx», тогда приложение всегда будет «com.xxx.FOO», поэтому выбран профиль обеспечения группы IOS по умолчанию. Я запускаю такое приложение и получаю:

2011-10-22 22: 42: 45.086 VVV [3552: 707] Не удалось получить токен, ошибка: Error Domain = NSCocoaErrorDomain Code = 3000 "нет Для приложения найдена действительная строка полномочий 'aps-environment' UserInfo = 0x16d140 {NSLocalizedDescription = для приложения не найдена допустимая строка полномочий 'aps-environment' }

4 продолжение) Я хочу использовать свой профиль подготовки, который использует мой идентификатор приложения с включенным push, поэтому я меняю идентификатор приложения на com.xxx и выбираю правильный профиль в параметре подписи кода в меню сборки. Установите его на свой iPhone, то же самое: (

Единственное, что я могу придумать:

  • Мой профиль подготовки неверен? Я несколько раз раз создавал новый, удалил все существующие в организаторе xcode, но это не помогло.
  • Код все еще подписывается с профилем группы вместо моего нового ? Есть ли способ гарантировать это?

Есть идеи, что мне здесь делать? Это не может быть так сложно.Должен ли я просто стереть мой HD и переустановить его с нуля и надеяться, что это сработает?

11
задан nflacco 23 October 2011 в 06:52
поделиться