Powiadomienie push nie działa w środowisku produkcyjnym po przełączeniu z piaskownicy

Cześć, jestem w tej chwili bardzo zdezorientowany i nie wiem, co robić dalej. Ostatnie dwa tygodnie spędziłem na poprawnym działaniu tych powiadomień push, a kiedy w końcu wszystko jest uporządkowane, umieściłem je w pakiecie dystrybucji adhoc i przełączyłem konfiguracje serwera na środowisko produkcyjne, nagle nic nie działa i ja nie wyświetlają się komunikaty o błędach. Powinien działać, powinien działać i nie działa. Więc potrzebuję pomocy, ponieważ jestem zgubiony.

możliwe problemy -

KONFIG HOSTA

To, co naprawdę pomogło mi to osiągnąć, to ten samouczektutaj, serwerem hostingowym jest Heroku, a aplikacja jest napisana w Sinatrzeto klejnot, a jeśli to nie przeniesie się w jakiś sposób do środowiska produkcyjnego, nie widzę, proszę, powiedz mi. Aby zaktualizować środowisko do produkcji, właśnie zmieniłem, który klucz został użyty, a host z gateway.sandbox.push.apple.com na gateway.push.apple.com, jak pokazano poniżej:

KLUCZE APNISÓW

Nie sądzę, żeby tak było, ale nie rozumiem, co się dzieje, więc to udokumentowałem, ale wierzę, że klucz dystrybucji działa - działa

openssl s_client -connect gateway.push.apple.com:2195 -cert dis_apskey.pem 

w terminalu uzyskano połączenie i transakcję z serwerem push:

Które, jak sądzę, oznacza, że ​​zadziałało, chociaż nie wiem na pewno (zobacz odpowiedź w odpowiedzi, to NIE znaczy, że zadziałało). Klucze zostały wykonane za pomocą tego polecenia:

openssl pkcs12 -in aps_distribution.p12 -out dis_apskey.pem -nodes

z kluczy prywatnych certyfikatów APS Development i Distribution pobranych z portalu deweloperskiego iOS lub jakkolwiek go teraz nazywają, wyeksportowanych jako pliki zaszyfrowane .p12:

Choć z różnych kluczy prywatnych okazały się dziwnie podobne (wszystkie postacie są takie same) -

Czy to normalne? ponieważ zrobiłem oba certyfikaty usługi push z tego samego CSR, nie wiem, czy jestem całkowicie zagubiony ... po prostu go wyrzucam, ponieważ nic z tego nie ma już sensu.

PODPIS KODU

Uważam, że jest to poprawne (z mojego projektu xcode):

Odpowiadają one certyfikatom i profilom mobilnego udostępniania w moim portalu dla deweloperów iOS i zregenerowałem tak wiele nowych, odświeżyłem je w xcode, dwukrotnie sprawdziłem i przeładowałem do tego, co trudno mi uwierzyć, że jest to obszar emisyjny. Ale żeby się upewnić, że to zamieszczam, są to aktualne profile, wykonane po wydaniu certyfikatów APS. Ponownie, nie ma to dla mnie sensu i tak, przeczytałem dokumentację i nadal jest grecka.

ŻETONY URZĄDZEŃ MOBILNYCH

To znowu, nie widzę problemu. Moja aplikacja wygenerowała jeden token przy użyciu profilu programistycznego, a piaskownica była w stanie przesyłać do niej powiadomienia i działała PIĘKNIE! Wtedy moja aplikacja wygenerowała NOWY token, kiedy przełączyłem się na profil adhoc i zbudowałem ALE w środowisku produkcyjnym, do którego nic nie dociera. Powiem jeszcze raz, wszystko działało poprawnie w piaskownicy, ale teraz nie działa.

Jakieś inne powody?

To wszystko, o czym mogę myśleć, jeśli ktoś ma coś innego, daj mi znać. Chcę tylko, żeby to działało i nie widzę błędów, jeśli jabłko wysyła je z powrotem do nieudanych pchnięć, więc nie mam pojęcia. Pracował w obszarze izolowanym dla programistów i powinien działać teraz, to wszystko, o czym mogę myśleć.

Dzięki.

questionAnswers(1)

yourAnswerToTheQuestion