Я рву свои волосы, пытаясь получить push-уведомления для работы! Я следую этот учебник, в основном безрезультатно. Я удалил xcode несколько раз, переделал весь сертификат Apple Dev, несколько раз очистил свой логин. Это помогло несколько вопросов, но в конце я все еще застрял.
То, что я думаю, мне нужно сделать (от чтения других людей с этим связано): 1) Мой ключ openssl и ключ должны быть разговаривать с сервером apple 2) Идентификатор приложения с этим сертификатом openssl имеет связанный с ним профиль обеспечения. 3) У сборки (в xcode) должен быть соответствующий профиль обеспечения, связанный с ним 4) Идентификатор сборки (в xcode) должен иметь тот же текст, что и идентификатор приложения, с профилем подготовки 4)
Насколько я могу судить, все это нормально:
- Мой сертификат 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 error: num = 20: невозможно получить сертификат локального эмитента.....
2,3,4) Когда я создаю новый проект, он никогда не получает правильное приложение ip (build settings- > info-bundle identifier). Если мой профиль обеспечения соответствует "com.xxx", тогда приложение всегда будет "com.xxx.FOO", поэтому выбран профиль Provisioning Profile IOS по умолчанию. Я запускаю приложение таким образом и получаю:
2011-10-22 22: 42: 45.086 VVV [3552: 707] Не удалось получить токен, ошибка: Ошибка домена = NSCocoaErrorDomain Code = 3000 "no valid 'aps-environment' строка права доступа для приложения" UserInfo = 0x16d140 {NSLocalizedDescription = нет допустимой строки права доступа aps-environment найдено для приложения}
4 contd) Я хочу использовать профиль профилей, который использует мой идентификатор приложения с включенным нажатием, поэтому я изменяю идентификатор приложения на "com.xxx" и выбираю правильный профиль в опции подписи кода в меню сборки. Установите его на свой iPhone, то же самое: (
Единственное, о чем я могу думать:
- Профили настройки недействительны? Я сделал несколько новых раза, удалили все существующие в организаторе xcode, но это не помогло.
- Код по-прежнему подписывается с профилем команды вместо моего нового один? Есть ли способ обеспечить это?
Любые идеи о том, что я должен делать здесь? Это не может быть так сложно. Должен ли я просто стереть свой HD и переустановить с нуля и надеяться, что он работает?