Я дуже важко намагаюся створити просте просте додаток для iOS, яке може отримувати push-повідомлення. Моя єдина причина цього зробити - це встановити процедуру для використання іншими членами команди і не змогли знайти актуальну робочу версію таких інструкцій в інших місцях Інтернету. Наш магазин досить новий для iOS Dev, я особисто абсолютно недосвідчений у розробці iOS i Xcode. Я натрапив на десятки навчальних посібників, статей та повідомлень про проблеми від Apple та інших країн, і я відчуваю, що я можу бути майже там ...
Ось, де мені довелося (зауважте, що я використовую Xcode 4.3 і намагаюся спочатку розгорнути лише в iOS 5.1. Я вважаю, що деякі речі, можливо, нещодавно змінилися порівняно з попередніми версіями Xcode, але я знову новачок для всіх це - і виявивши його зовсім заплутаним і заплутаним):
1) У мене на iPhone передбачений профіль резервування, який увімкнув функцію Push
2) У своєму тестовому проекті Xcode я отримав той профіль надання, який було обрано як ідентифікатор підпису (у Налаштуваннях збірки> Підпис коду)
3) Я отримав свій ідентифікатор пакета в розділі Підсумок та інформація> Спеціальні властивості цілі iOS встановлені належним чином * (я думаю ??)
4) У мене в регістрі викликаютьсяForRemoteNotificationTypes, які викликаються у моєму делегаті didFinishLaunchingWithOptions
5) Я отримав didRegisterForRemoteNotificationsWithDeviceToken і didFailToRegisterForRemoteNotificationsWithError у моєму делегаті, встановлений для реєстрації маркера пристрою або помилки відповідно
6) Увімкнено параметри Enable Entitlements під Звіт.
7) Право внизу, що вибрано файл прав прав - Tinker6 (назва мого тестового проекту), який генерувався автоматично, коли я перевірив Увімкнути права
8) У файлі Tinker6.entitlements у мене з’явилося таке (що я зібрав правильно на основі кількох різних публікацій у мережі, але я не можу знайти нічого остаточного від самого Apple):
Оновлено
9) Крім того, я спробував все це без файлу прав, і я отримав фактично такий же результат.
10) Вміст мого файлу мобільного забезпечення містить належні права (я перекреслив номер та домен, але структурно однаковий):
<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>
/ завершення оновлення
Коли я намагаюся запустити це на своєму пристрої, я отримую таку помилку у виведенні 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-enable NO, aps-середовище для виробництва, усі чотири можливі комбінації, те саме.
Як я можу пройти це? Де є остаточна документація щодо цього?
- подальше подання -
* Що стосується ідентифікатора пакета, мені все ще не зрозуміло, як це слід встановити стосовно ідентифікаторів додатків та ідентифікаторів профілю в профілі надання. На порталі Provisioning в розділі Ідентифікатори додатків я маю це (знову ж таки, сформулював номер та домен):
І встановлено ідентифікатор пакета для двох місць. У мене це:
Я зовсім не впевнений, що це правильно, чи потрібно встановити один чи обидва на 12355456A7.com.wever.tinker, хоча я намагався це зробити раніше, але не мав успіху ...
Зауважте, я розумію, що існує багато публікацій з подібними заголовками, однак вони, здається, застаріли, виходячи з назв файлів і наданих даних, і той факт, що жодне з рішень не здається корисним. Я сподіваюсь, що більш детальний рівень деталізації, який я надавав, гарантуватиме якісну відповідь. Я, мабуть, призначу виграш якнайшвидше, і якщо ви дасте високоякісну відповідь, яка призводить до рішення, я присуджую вам винагороду, а також просуваю вашу відповідь через твіттер та мій блог. Особливо, якщо ви перехрещуєте публікацію по-справжньому "тут є точні 500 кроків, щоб отримати звичайну статтю про додаткове повідомлення, включаючи забезпечення та інше" статтю у своєму блозі чи будь-що інше.