Загрузка приложения в магазин приложений - PullRequest
1 голос
/ 31 января 2012

Я создал приложение, которое использует APNS.Я получил push-уведомления, когда я использовал сертификат разработчика, и он работает нормально.Я установил его через метод Adhoc.Теперь мне нужно загрузить свое приложение в appstore.Я создаю свое приложение с сертификатом распространения и помещаю его на сервер, но не получаю никаких уведомлений.Это мой первый раз, когда я делаю это.Я прошел через очень много форумов, и я получил так много ситуаций.Во-первых, идентификатор токена (я думаю, он совпадает с идентификатором устройства) должен отличаться в режиме разработки и производства, но я получаю одинаковый идентификатор токена.Но все же я не уверен в этом вопросе.Итак, у меня есть несколько вопросов, какой сертификат я должен использовать в своем приложении и на сервере при загрузке в appstore?И должен ли я использовать Sandbox или рабочий сервер?Пожалуйста, дайте мне четкое представление обо всех этих.Спасибо

Ответы [ 2 ]

2 голосов
/ 31 января 2012

Все вышеперечисленное, упомянутое Wolfgang Schreurs, и в дополнение к этому, пожалуйста, убедитесь, что при тестировании push-уведомлений для пакета adhoc вы используете

ssl://gateway.push.apple.com:2195

из

ssl://gateway.sandbox.push.apple.com:2195

Поскольку apple также использует производственный идентификатор для профилей AdHoc, ниже будут подробности в профиле adhoc / distribution, если вы откроете его в текстовом редакторе.

<key>Entitlements</key>
    <dict>
        <key>application-identifier</key>
        <string>something.com.yourappname</string>
        <key>aps-environment</key>
        <string>production</string>                      <--Notice This 

и если вы проверите профиль разработки, это будет что-то вроде

<key>Entitlements</key>
    <dict>
        <key>application-identifier</key>
        <string>something.com.yourappname</string>
        <key>aps-environment</key>
        <string>development</string>                     <--Notice This
2 голосов
/ 31 января 2012

Сертификат песочницы используется для разработки, производственный сертификат используется для приложений, представленных в AppStore.Правильный сертификат связан либо с профилем обеспечения разработки, либо с профилем обеспечения распространения (AppStore).

Следует помнить, что при создании push-сертификатов ПОСЛЕ необходимо заново создать профили обеспечения.Создание оригинального профиля.Профили должны содержать строку «aps-environment», если для вашего приложения включена функция push, в противном случае функция push не будет работать.Если ваше приложение изначально не содержало push (эта функциональность, включая сертификаты, была добавлена ​​позднее), то профили обеспечения как для разработки, так и для AppStore не будут содержать строку «aps-environment» и, следовательно, push не будетработа.

Вы можете открыть свои профили в текстовом редакторе и найти строку «aps-environment», чтобы убедиться, что она существует.Это была основная проблема с толчком, с которым я продолжал сталкиваться, так что я думаю, вы тоже столкнулись с этим.

Воссоздание профилей легко, просто откройте их на портале Apple Developer, измените некоторые настройки испасти.Загрузите и установите новый профиль, чтобы использовать его.


Редактировать: Что ж, я начал работать с специальным профилем обеспечения.Сначала я рекомендую вам скачать следующий проект с github, он действительно удобен для тестирования разработки и рабочей загрузки:

https://github.com/Zambiorix/Apple-Push-Notification-Test

Далее я хотел бы знать, если вы можете отлаживатьприложение.Если вы можете отлаживать приложение, то вы не используете специальный профиль.Когда вы пытаетесь выполнить отладку с помощью специального профиля, приложение запускается, после чего происходит сбой (некоторые сообщения, включающие get-task-allow ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...