2013-03-06 8 views
21

Czytałem garść dokumentów Apple'a, a także wiele innych pytań dotyczących SO, ale nie znalazłem odpowiedzi na to konkretne pytanie.Użycie piaskownicy APNS w kompilacjach dystrybucyjnych AdHoc dla iOS

Mam istniejący przepływ pracy w celu generowania kompilacji dystrybucji AdHoc dla członków kontroli jakości i testerów wersji beta. Teraz, gdy dodałem obsługę powiadomień push, chciałbym móc przetestować te ścieżki powiadomień.

Mam wrażenie, że deweloper buduje, podpisany za pomocą profilu udostępniania rozwoju, generuje tokeny dla środowiska sandbox/deweloperskiego APNS i kompilacje dystrybucji podpisane za pomocą profilu udostępniania dystrybucji (bez względu na to, czy jest przeznaczony do dystrybucji AdHoc LUB Dystrybucja AppStore), generuj tokeny dla produkcyjnego środowiska APNS. Sądzę, że można to potwierdzić, otwierając różne pliki .mobileprovision i analizując klucz aps-environment aps-environment.

Chciałbym wiedzieć, czy istnieje sposób, aby moje kompilacje dystrybucji AdHoc korzystały ze środowiska APNS środowiska testowego, a nie z produkcyjnego środowiska APNS.

Jeśli naprawdę chciałbym, aby testerzy QA i beta korzystali z APR do piaskownicy, czy musiałbym jakoś znaleźć sposób na umożliwienie im uruchamiania kompilacji rozwojowych, a nie kompilacji dystrybucyjnych?

A może moje założenia dotyczące sposobu, w jaki rzeczy działają poza bazą? (Określany this post i this post)

+0

Więcej powodów, dla których moja organizacja nosi baseballa ... istnieje warstwa API, która usuwa niektóre obowiązki związane z powiadomieniami, a także ma 2 "tryby" (inscenizacja/produkcja), więc W tamtym czasie było sensowne powiązanie naszego wewnętrznego API "postoju" ze środowiskiem APNS piaskownicy, ale mogło to być niepotrzebne rozróżnienie. – beno

Odpowiedz

37

zrobiłem znaleźć jakąś wzmiankę na AdHoc w kontekście środowisk APN:

Uwaga: Istnieje osobny trwałe połączenia z usługą Push dla każdego środowiska. System operacyjny ustanawia stałe połączenie ze środowiskiem piaskownicy dla wersji rozwojowych; ad hoc i kompilacje dystrybucyjne łączą się ze środowiskiem produkcyjnym.

Jest to wzięte z Technical Note TN2265. Przypuszczam, że ta uwaga potwierdza, że ​​nie można używać env piaskownicy w dystrybucji AdHoc.

+0

miło znaleźć, nie widziałem, że wyraźnie stwierdził nigdzie. – beno

+0

również znalazł tę odpowiedź: http://stackoverflow.com/questions/2625773/why-not-use-development-provisioning-instead-of-ad-hoc – beno

+0

To prawda. W przypadku GCM wystarczy przejść do AppDelegate.swift, znaleźć metodę didRegisterForRemoteNotificationsWithDeviceToken i zastąpić kGGLInstanceIDAPNSServerTypeSandboxOption: true przy kGGLInstanceIDAPNSServerTypeSandboxOption: false. Potem już nie jesteś w środowisku piaskownicy. – stakahop

4

Jabłko używa innego serwera dla:

  1. Aplikacje podpisane z profilem Rozwoju
  2. Wszystkie inne profile (AdHoc, na życzenie i AppStore). Przechodzą przez serwer Live.
Powiązane problemy