2011-11-23 19 views
10

opracowaliśmy aplikację, która używa powiadomień push, postępując zgodnie z very good guide created by David Mytton.Apple push powiadomienie za pomocą aplikacji korporacyjnej

Usługa push działa świetnie na profilu rozwoju. Ale teraz, gdy jest już gotowy, zmieniliśmy profil dystrybucji dla klientów. Aplikacja jest wewnętrzną aplikacją z wykorzystaniem konta Enterprise.

Zmieniliśmy certyfikat na serwerze i zmieniliśmy go na URL produkcji określony w samouczku. Zastąpiliśmy również profil używany podczas budowania aplikacji i zainstalowaliśmy go na iPhone'a testującego. Wszystko wydaje się działać na serwerze, a żadne komunikaty o błędach nie są zwracane, ale naciśnięcie przycisku nigdy nie jest odbierane na telefonie iPhone. W tej chwili jesteśmy bardzo nieświadomi i nie wiemy, od czego zacząć debugowanie. Sprawdziliśmy, że tokenId jest aktualizowany po zamianie profilu.

Czy ktoś ma jakiekolwiek doświadczenie w tym i może wiedzieć, co jest nie tak lub gdzie rozpocząć debugowanie? Dzięki!

+2

Usunięto aplikację profilu programistycznego z urządzenia przed zainstalowaniem wersji produkcyjnej aplikacji i czy w aplikacji Ustawienia domyślne zostało włączone ustawienie powiadomień Push? – Deeps

+0

Nie, nie usunąłem starego profilu z aplikacji, więc dzięki za wskazówkę!Niestety to nie pomogło:/I tak, powiadomienia push są włączone dla aplikacji w ustawieniach. – Madoc

+0

Jestem ciekaw tego, ponieważ odnośnik Apple mówi: "Usługa powiadomień push (APNs) jest dostępna tylko dla aplikacji rozpowszechnianych za pośrednictwem App Store iOS lub Mac App Store". (czy to jest jeszcze dokładne?) pod tym linkiem https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ProvisioningDevelopment.html#//apple_ref/doc/uid/TP40008194- CH104-SW1 –

Odpowiedz

5

nie mam pojęcia, co się dzieje tutaj, ale w końcu go do pracy ..

Po godzinach debugowanie bez rezultatów rzuciłem ręcznik i stworzył nowy certyfikat programisty, identyfikator aplikacji, przesuń sertificate i profil dystrybucji. Oczyściłem projekt, dodałem nowy profil i zastąpiłem wszystkie pliki na serwerze.

I zadziałało! Żadnych problemów w ogóle ... Czasami nienawidzę będąc deweloperem iPhone/Apple: \

+4

Czy ponownie uruchomiłeś komputer z systemem Windows? ;) Czasami kolor po prostu naprawia te rzeczy, które przegapiłeś lub zostały w nim pomieszane. Zawsze frustrujące, ale łagodzące w końcu. –

+0

Tak, w rzeczywistości również zrestartowałem komputer :) – Madoc

3

Kilka rzeczy, które można spróbować:

  1. Upewnij się, że telefon jest podłączony do źródła zasilania (czasami nie powoduje to konieczności powiadomienia opóźnione).

  2. Poniższa biblioteki PHP:

http://code.google.com/p/php-apns/

To pozwala ci wyszukiwać błędy w komunikacji z serwerem i zobaczyć, gdzie występuje błąd. W szczególności pozwala na debugowanie, jeśli identyfikator tokenu jest niepoprawny.

  1. Możesz spróbować użyć niepoprawnego identyfikatora tokena na serwerze i zobaczyć zachowanie. Porównaj to z użyciem poprawnego identyfikatora tokena.
+0

Dzięki za cynk. Spróbuję tego i zobaczymy, czy otrzymamy więcej informacji. – Madoc

0
  • Wszelkie we własnym profilu dystrybucja daje się sam tokenID, jaki kiedykolwiek to tokenID waha się między różnymi urządzeniami.
  • Inny problem dotyczy tylko produktu ProductionURL.
  • Zauważyłem również, że odbiór powiadomień wypychanych jest czasami opóźniany, głównie w przypadku użycia z adresem URL produkcji.

Mam nadzieję, że to pomoże.

Powiązane problemy