pushsharp push-уведомление об ошибке iOS с сертификатом - PullRequest
0 голосов
/ 17 мая 2019

Привет всем, я новичок в разработке для iOS, я положил конец, чтобы получать push-уведомления. Я нашел pushsharp и использовал этот учебник

Учебное пособие по использованию

Я использовал Windows-приложение вместо веб-приложения и добавил последнюю версию pushsharp. Код строится и запускается, но я получаю следующее исключение

Exception

Ошибка происходит в следующем месте Error location in code

Я отозвал свой сертификат и пересоздал его несколько раз, а также попытался экспортировать сертификат и ключ. Оба дают мне одну и ту же ошибку.

Когда я создаю сертификат, я создал его для iOS-разработки на портале Apple.

Это то, что я пробовал до сих пор Основываясь на комментарии от Джека Хуа, я попробовал следующее

Зашли на портал Apple и удалили

  • Идентификаторы приложений
  • Сертификаты
  • Предоставление профилей

Xamarin visual studio не имеет ожидаемого профиля обеспечения

Начиная с чистого листа

  1. Доступ к цепочке для ключей
  2. Запросить сертификат у сертификационного органа (кодовая подпись)
  3. сохранить запрос на подпись сертификата
  4. Зарегистрировано новое приложение с включенным идентификатором пакета и push-сервисами
  5. Добавить новый профиль обеспечения
  6. создать сертификат
  7. Использовать созданный запрос на подпись сертификата (Шаг 3)
  8. скачать сертификат
  9. Двойной щелчок по сертификату для установки в связку ключей (брелок имеет новую запись)
  10. Щелкните правой кнопкой мыши по экспорту p12 (Если я этого не сделаю, я не смог увидеть сертификат в разделе профилей обеспечения)
  11. Выберите сертификат и создайте профиль обеспечения Повторно откройте Xamarin studio, и профиль обеспечения отобразится в свойствах проекта

Теперь создайте сертификат развития APN

  1. Доступ к цепочке для ключей
  2. Запрос сертификата в центре сертификации (APNs)
  3. Сохранить запрос на подпись сертификата
  4. Выберите созданный идентификатор приложения (Шаг 4)
  5. Редактировать идентификатор приложения
  6. Под push-уведомлением выберите создать сертификат
  7. Выберите запрос на подпись сертификата (шаг 14)
  8. Скачать сертификат
  9. Дважды щелкните по сертификату, чтобы установить его (теперь две записи отображаются в сертификатах цепочки для ключей, одна для подписи кода, а другая для APN)
  10. Выберите сертификат APNs в доступе цепочки для ключей и экспортируйте файл .p12
  11. Включить это в мой пример проекта (Создать согласно видео YouTube с соответствующим токеном устройства)

Я все еще получаю ту же ошибку подключения Apns.

Что мне не хватает?

На основании комментария Джека Хуа я предпринял эту попытку. Я установил флаг проверки на false, я все еще получаю ошибку соединения, однако внутреннее исключение - «Недопустимый токен устройства»

После некоторых исследований достигнут некоторый прогресс: у токена устройства были пробелы, удаляющие пробелы. Я не получаю никаких ошибок, однако уведомление никогда не отображается на моем iPad. Я использую сертификаты разработки Sandbox и iOS, обеспечиваю профили. Интересно, это известная проблема в разработке, и она будет работать в производстве. Любая помощь очень ценится, ребята !!!

1 Ответ

1 голос
/ 20 мая 2019

Это сообщение об ошибке генерируется при создании объекта ApnsConfiguration, см. исходный код .

 if (!Regex.IsMatch (commonName, "Apple.*?Push Services")
                    && !commonName.Contains ("Website Push ID:"))
                    throw new ArgumentOutOfRangeException ("Your Certificate is not a valid certificate for connecting to Apple's APNS servers");

Вы не создаете принудительную сертификацию ...Учебник, которому вы следуете, создает профиль обеспечения распространения, который позволяет вам отправить свое приложение в Apple App Store (не уведомление).

Вы можете подписаться на этот документ для создания сертификата уведомления и настройки вашего приложения для включения возможности push-уведомления.

См .: send-push-messages-to-ios-pushsharp-Certificate

...