2012-12-17 14 views
6

Niedawno przejąłem projekt na iPhone'a i nigdy wcześniej nie użyłem obiektywu-c.Ponowne użycie aplikacji wieloznacznej umożliwiającej przekazywanie powiadomień push

Muszę pobrać aplikację, aby używać powiadomień push, ale pierwsza aplikacja jest już aktywna i używa symbolu wieloznacznego (więc nie ma powiadomień push).

Stworzyłem inną aplikację z identyfikatorem i otrzymałem powiadomienia push do pracy. Jednak moje miejsce pracy chciałoby otrzymywać powiadomienia o pracy dla aplikacji wieloznacznej (ponieważ mamy już wielu klientów korzystających z tej aplikacji).

W jaki sposób mogę zaktualizowaći użyć unikatowego identyfikatora bez tworzenia nowego identyfikatora aplikacji (nawet z tym samym identyfikatorem bundleId).

Jestem bardzo nowy w tym wszystkim, więc proces krok po kroku jest bardzo doceniany (ELI5).

Dla porównania użyłem keychain, aby uzyskać prywatny plik .p12 i używam go na serwerze Windows, który uruchamia aplikację konsolową, która generuje powiadomienia push (wysyłane do serwera Apples Apns).

EDYCJA: Zrobiłem następujące kroki, czy ktoś może mi powiedzieć, co im brakuje?

1) Utwórz nowy bundleId (używając tego samego AppId).

2) Skonfiguruj tę aplikację, aby używała powiadomień wypychanych.

3) Utwórz CSR w pęku kluczy.

4) prześlij to do portalu i utwórz certyfikat produkcji.

5) Pobierz ten certyfikat i wyeksportuj klucz prywatny.

6) Utwórz profil informacyjny, używając tego samego identyfikatora pakietu co 1 (np. Au.com.website).

7) Pobierz ten profil informacyjny, umieść go w kodzie x i na urządzeniu iPhone.

8) W ustawieniach kompilacji X-kodu użyć Id wiązki i korzystać z profilu zastrzegania I utworzony w kroku 6.

9) archiwum aplikacji, wdrażanie przez ad hoc, zapisz plik na pulpicie .

10) umieść ten plik w TestFlight, pobierz aplikację z testFlight na moim iPhonie.

11) włóż klucz prywatny na mój serwer Windows i wyślij powiadomienia push (wysyłają błędy w.o).

Nie otrzymuję powiadomień push (iPhone jest ustawiony, aby ożywić je).

Po raz kolejny współpracuje z inną aplikacją, którą ktoś zrobił, więc wiem, że kod działa.

Odpowiedz

0

Do powiadomienia Push appId jest obowiązkowe. Proces krok po kroku Użyj samouczka o dwóch częściach: raywenderlich. Mam nadzieję, że to ci pomoże.

7

Nie należy mylić identyfikatora aplikacji i identyfikatora pakietu. Identyfikator pakietu jest podobny do: com.company.appname i jest zdefiniowany przez aplikację info.plist

Identyfikator aplikacji ma dodatkowy prefiks (zwykle prefiks zespołu) i może zawierać symbole wieloznaczne. Identyfikator aplikacji służy do dopasowywania identyfikatorów pakietów do profili próbujących. Profil jest ważny tylko dla tej aplikacji, która pasuje (z wyłączeniem prefiksu).

Teraz chcesz zachować identyfikator pakietu tak samo, ponieważ jeśli zmienisz to, że stanie się on nową aplikacją. Możesz jednak zmienić profil informacyjny i identyfikator aplikacji przy każdej aktualizacji.

Byłem w podobnej sytuacji jakiś czas temu, kiedy opublikowałem aplikację z identyfikatorem aplikacji wieloznacznej i dodałem do niej IAP.

  • Po prostu należy utworzyć nowy (nie-wieloznaczny) identyfikator aplikacji odpowiadający identyfikatorowi pakunku.
  • Uaktywniasz usługi Apple (IAP, GC, APNS), których potrzebujesz w identyfikatorze aplikacji.
  • tworzyć nowe profile Prz do własnych potrzeb (App Store, Ad Hoc, rozwój)

Następnie można złożyć aktualizację dla swojej aplikacji z nowym profilem, ale niezmienionej wiązki id.