2010-04-10 11 views
12

Moja aplikacja została właśnie zatwierdzona do sklepu Apple. Pobrałem go i zainstalowałem na moim iPhonie - ale wygląda na to, że powiadomienia push są zepsute!Powiadomienia push działają w trybie Ad Hoc, ale nie po pobraniu ze sklepu Apple

Pomyślnie przetestowałem powiadomienia push w produkcji przy użyciu profilu administracyjnego adHoc. Nie miałem żadnych problemów. Jedyną rzeczą, którą zrobiłem inaczej, gdy przesłałem jabłko, było używanie profilu dystrybucji w sklepie z aplikacjami.

Aplikacja nigdy nie pyta mnie (ani nikogo innego, kto go pobrał), jeśli chcę otrzymywać powiadomienia push. W związku z tym telefon nigdy nie rozmawia z moim serwerem, aby wysłać token (ponieważ aplikacja: didRegisterForRemoteNotificationsWithDeviceToken: prawdopodobnie nigdy nie jest wywoływana). Również aplikacja nie pojawia się w aplikacji ustawień w ustawieniach powiadomień.

Co mogę zrobić źle?

EDYCJA: Podczas gdy aplikacja czekała na zatwierdzenie, miałem problemy z wygenerowaniem mojego certyfikatu push produkcyjnego. Czy to może być istotne?

Problem generating APN SSL certificate after submitting to apple store

Odpowiedz

21

Upewnij się, że utworzyłeś identyfikator aplikacji produkcyjnej i masz włączone powiadomienia push. Następnie utwórz profil informacyjny dla tej aplikacji. Pobierz i otwórz plik za pomocą edytora tekstu, musi upewnić się, że profil zawiera ten klucz i wartość:

APS-środowisko produkcyjną

Jeśli nie, to upewnij się, że naprawdę pozwoliły identyfikator aplikacji do produkcji push przed wygenerowaniem profilu obsługi administracyjnej.

Po dokonaniu kompilacji, można sprawdzić ostateczny build, aby sprawdzić, że ma uprawnienia APS-Environment (szukasz kodu APS-środowiskowej podpisaniu prawo pod „Wymagania wewnętrzny):

codesign - dvvvv --entitlements - MyCoolApp.app

+1

Och, wow, dzięki! Tak, to było to. Sprawdziłem pierwotny profil dystrybucji, a tego klucza tam nie było. Domyślam się, że kolejność wykonania tych czynności naprawdę * nie ma znaczenia. – MikeQ

+0

Świetne rozwiązanie. To bardzo uspokajające, aby móc zweryfikować w ostatecznej skompilowanej aplikacji, czy aps jest ustawiony, czy nie. – scottbates22

3

Czy używasz tego samego identyfikatora wniosek o plikach mobileprovision dystrybucyjnych zarówno ad hoc i? Musi to być pełny identyfikator, a nie tylko częściowy.

+0

Przez kompletny, to znaczy nie-wieloznaczny identyfikator Jeśli tak, yep to była zupełnie inna aplikacja id I rzeczywiście testowane aplikacji ad hoc przy użyciu identyfikatora, który zakończył?. z ".adHoc" i to działało bez zarzutu - wtedy przesłałem aplikację, używając identyfikatora, który zakończył się na ".release" .To była jedyna zmiana. Gdy dowiedziałem się o tym problemie, przygotowałem profil rezerwacyjny ad hoc dla identyfikatora aplikacji ".release" i zainstalowałem go na moim telefonie - i powiadomienia push działały! – MikeQ

Powiązane problemy