2011-10-23 14 views
11

Wyrywam sobie włosy, próbuję wysłać powiadomienia push do pracy! Śledzę this tutorial, aby w zasadzie nie skorzystać. Kilka razy kasowałem kod Xcode, przerobiłem cały certyfikat Apple Dev, kilkakrotnie wyczyściłem swój keychain logowania. Pomogło to w kilku problemach, ale na koniec wciąż tkwię.powiadomień push firmy Apple - brak prawidłowego "aps-environment" wypróbował wszystkie rozwiązania, które widziałem w Internecie?

Co myślę, że trzeba to zrobić (od czytania doświadczenia innych ludzi z tym): 1) Moja openssl cert i klucz trzeba być rozmowa z serwerem jabłkowego 2) App ID z tym openssl cert ma provisioning profil powiązany z tym. 3) Kompilacja (w kodzie xcode) musi mieć przypisany odpowiedni profil obsługi administracyjnej 4) Identyfikator kompilacji (w kodzie xcode) musi mieć taki sam tekst, jak identyfikator aplikacji z profilem udostępniania 4) ???

O ile mogę powiedzieć, to wszystko jest ok:

  1. mój certyfikat ssl + klawisz połączenia ładnie do serwera jabłkowego (zignorować błąd, wciąż otrzymuję monit ostatecznie):

MacBook-Pro:apple_dev_certification nflacco$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key xxx.pem -cert xxx.pem Enter pass phrase for xxx.pem: CONNECTED(00000003) depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C verify error:num=20:unable to get local issuer certificate .....

2,3,4) Kiedy tworzę nowy projekt, nigdy nie dostaje on właściwej aplikacji ip (ustawienia kompilacji-> identyfikator pakietu informacji). Jeśli mój profil udostępniania pasuje do "com.xxx", aplikacja zawsze będzie miała wartość "com.xxx.FOO", dlatego wybrany jest domyślny profil obsługi zespołu IOS. Uruchomić aplikację takiego, a otrzymasz:

2011-10-22 22:42:45.086 VVV[3552:707] Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x16d140 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

4 cd) Chcę używać mojego zaopatrzenie profil, który używa mojego app id z naciśnięciem włączone, więc mogę zmienić identyfikator aplikacji do „com.xxx” i wybierz odpowiedni profil w opcji podpisywania kodu w menu budowy. Zainstalować go na moim iPhone, to samo :(

tylko rzeczy mogę myśleć:

  • Moje zastrzegania profil nie jest skorygować Zrobiłem nowy kilka razy, skasowany cały istniejący te w xcode organizatora, ale to nie pomogło.
  • Kod wciąż się podpisał z Profil zespołu zamiast mojego nowego jednego? Czy istnieje sposób, aby zapewnić?

pomysłów na co powinienem tu zrobić? To nie może być tak skomplikowane. Czy mogę po prostu wytrzeć moją HD i zainstalować ponownie od zera i mam nadzieję, że to działa?

+0

Więc problem jest to, że aplikacja nie rejestrować naciśnięciem? Jestem zdezorientowany, ponieważ wspominasz wiele niepowiązanych czynników, takich jak certyfikaty SSL. –

+0

Tak, to prawda. Właśnie wspomniałem o innych rzeczach, aby potwierdzić, że certyfikat faktycznie działa z APN, a podpisywanie kodu w celu potwierdzenia właściwego profilu obsługi jest używane dla aplikacji. – nflacco

Odpowiedz

14

Wiesz co to było? Mój identyfikator aplikacji.

foo.bar jest traktowany jako foo.bar.* (Co nie jest dozwolone)

trzeba mieć foo.bar.xxx

enter image description here

+1

co masz na myśli przez tę odpowiedź? co powinienem zmienić lub zmienić –

0

Wydaje mi się, że do wypychania potrzebny jest plik Entitlements.plist z kluczem aps-environment z wartością "production". Właśnie skończyłem pracę nad aplikacją (ponownie) dla mojej aplikacji. Kilka innych odpowiedzi pomogło mi otworzyć okno Organizatora po zrobieniu Archiwum, ale wtedy dostałem twój błąd.

Musiałem również zrezygnować z & restartować XCode z pewną częstotliwością, ustawienia dotykowe, które tak naprawdę się nie zmieniły, usunąć stary certyfikat pre-push i dodać nowy, itd. Itd. Wiele ustawień w XCode nie faktycznie się zmienia, ale wydaje się, że dotknięcie ich spowodowało, że zaczęło działać.

Powiązane problemy