Zakupy w aplikacji „Nie można połączyć się z iTunes Store”


98

Mam problemy z testowaniem zakupów w aplikacji. Odzyskuję prawidłowe identyfikatory produktów, ale po zakupie pojawia się przerażający komunikat „Nie można połączyć się z iTunes Store”. Ciekawe jest to, że przywracanie zakupów wydaje się działać - pojawia się login iTunes.

Mam: - Sprawdziłem, czy moje zakupy w aplikacji są dopuszczone do sprzedaży - Sprawdziłem, ponownie sprawdziłem mój kod źródłowy, aby był zsynchronizowany z dokumentacją Apple - Dodano odpowiednich użytkowników testowych - Identyfikator aplikacji nie zawiera symbolu wieloznacznego - Zakupy w aplikacji są powiązane z aplikacja (sama aplikacja jest w stanie odrzucenia programisty, zakupy są gotowe do przesłania) - oczekiwano - ponownie zainstalowana aplikacja, wyczyszczone rozwiązanie, wszystkie rzeczy voodoo


26
+1 za "wszystkie rzeczy voodoo" - czy to nie prawda!
Craig Watkinson

2
Apple, dlaczego robisz to tak skomplikowane !!!
Borzh

Odpowiedzi:


113

Upewnij się, że wylogowałeś się ze wszystkich kont produkcyjnych iTunes na urządzeniu.

Otrzymałem ten błąd na moim telefonie testowym, który był zalogowany na moje rzeczywiste konto iTunes. Nie możesz testować aplikacji przy użyciu konta produkcyjnego iTunes, stąd błąd. Chciałbym tylko, żeby Apple podał lepszy błąd, aby uniknąć tego domysłów ...


1
Mój błąd po prostu nie polegał na skonfigurowaniu użytkownika piaskownicy, zapomniałem o tym kroku. I nie loguj się do niego z sekcji Ustawienia >> iTunes urządzenia b / c, które go zepsuje. Poczekaj i zrób to podczas rzeczywistego testowania.
Nathan Prather

Ten błąd może również wystąpić podczas ponownego korzystania ze starego konta piaskownicy, które zostało przetestowane przez poprzednie zakupy w aplikacji w innej aplikacji z (Mój scenariusz). Apple naprawdę musi zaktualizować sposób, w jaki testujemy IAP, kończy mi się e-maile: 0
David Baez

Testuję to w symulatorze, więc nie powinno to być problemem, prawda?
Osama bin Attique

1
wylogowano się ze wszystkich kont iTunes. monituje mnie o zalogowanie się, a następnie przecięcie kończy się niepowodzeniem. używał wielu kont testerów piaskownicy, ale nie działa.
bLacK hoLE

U mnie to też nie działa ... Próbowałem utworzyć wiele kont, niektóre z zalogowanym użytkownikiem piaskownicy iTunes, inne bez zalogowanego użytkownika, nawet bez potwierdzenia adresu e-mail, nic nie działa!
Borzh


25

W przypadku nowicjuszy upewnij się, że stan produktu do zakupów w aplikacji to Ready to Submit, bez „brakujących metadanych”. W moim przypadku brakowało lokalizacji grupy subskrypcji.

wprowadź opis obrazu tutaj


1
Dziękuję Ci! W moim przypadku brakowało lokalizacji nazwy wyświetlanej.
Justin

W moim IAP pokazuje „Oczekiwanie na przesłanie”. Nadal otrzymuję błąd
Vaibhav Jhaveri

To też zadziałało dla mnie. Miałem też zalogowane moje aktywne konto
iTunes,

10

Miałem ten problem i jestem przekonany, że to błąd. Złożyłem raport o błędzie z numerem błędu 10108270

Wydaje się, że problem polega na tym, że użytkownik testowy jest `` blokowany '' i może mieć coś wspólnego z próbą zakupu w aplikacji w już wydanej aplikacji z tym kontem.

Moim obejściem było utworzenie nowego użytkownika testowego, ale dopóki Apple nie skontaktuje się ze mną, nie mogę zapewnić lepszych rozwiązań. Zaktualizuję tę odpowiedź, gdy otrzymam odpowiedzi.


4
Utworzyłem nowego użytkownika testowego, ale to nie pomogło.
arkir

Przepraszam, że nie mogę więcej pomóc, to było moje obejście, szkoda, że ​​nie działa dla Ciebie. Zaktualizuję tę odpowiedź, gdy otrzymam więcej informacji.
James Webster,

Utworzyłem nowe konto testowe i zakup w aplikacji znów zaczął działać. Dzięki!
Miha Hribar

Utworzenie nowego użytkownika testowego rozwiązało problem za mnie. (Kilka dni temu otrzymałem powiadomienie, gdy próbowałem użyć mojego starego użytkownika testowego, że został wyłączony, więc musiałem go ponownie włączyć. Wkrótce potem zacząłem otrzymywać Cannot connect to iTunes storebłąd. Ale kiedy utworzyłem nowy test użytkownika, zakupy zadziałały ponownie.)
Andrew

nowy użytkownik pracował dla mnie. po prostu spróbuj, zanim zrobisz cokolwiek innego.
Okhan Okbay

7

Ten problem nadal występuje w 2016 roku. Niesamowite. Oto moje rozwiązanie:

Dodaj numer kompilacji. Cel> Ogólne> Tożsamości> Kompilacja.


2
NIE DO WIARY. Jest to nadal problem w 2018 roku. Nie używam numeru kompilacji w trybie debugowania, ponieważ zwiększam go tylko dla wersji produkcyjnych. Dzięki za opublikowanie tego.
Steven Peterson

3

To stary wątek związany z problemem, z którym miałem dziś do czynienia.

W moim przypadku mogłem testować zakupy w aplikacji na moim urządzeniu do wczoraj, ale dzisiaj przestało działać. Okazało się, że Apple przeforsował „Poprawkę do płatnych aplikacji”, abym ją przejrzał i zgodził się. Gdy tylko zgodziłem się na poprawkę (oczywiście bez jej czytania), wszystko zaczęło działać ponownie. Nie trzeba było tworzyć nowego użytkownika testowego ani żadnego innego obejścia.

Może być wiele powodów, dla których zakupy w aplikacji nie działają, ale upewnij się, że jesteś prawidłowo skonfigurowany itunesconnectlub nie będziesz w stanie testować zakupów w aplikacji.


2

Uderzam w ten sam problem. U mnie dzieje się to po tym secuence:

  • Zainstaluj aplikację na urządzeniu zalogowanym na brytyjskie konto w iTunes
  • Uruchom aplikację i użyj testowego użytkownika ustawionego w USA
  • Wyświetla się komunikat, że konto jest ważne tylko w USA. Zamyka aplikację i automatycznie uruchamia iTunes
  • Otwórz aplikację ponownie i ponów próbę zakupu. Otrzymuj produkty, ale bez innych oddzwonień ani błędów.

Nie wiem, czy jest to problem na platformie IAP, ale chciałbym otrzymać błąd / wywołanie zwrotne, aby w jakiś sposób sobie z tym poradzić w moim kodzie.

Aby kontynuować testowanie IAP, wypróbuj dowolne z poniższych:

  1. Usuń profil obsługi administracyjnej w obszarze Ustawienia, usuń aplikację i wyloguj się ze sklepu w Ustawieniach. Następnie przejdź do XCode i zmień tożsamości podpisujące na „Nie podpisuj”, a następnie umieść je z powrotem (wiem, jak to brzmi :), ale spróbuj) LUB
  2. Twardy reset wszystkich ustawień urządzenia (Ustawienia -> Ogólne ...). Oczywiście stracisz wszystkie ustawienia na tym urządzeniu ...
  3. Zabij aplikację iTunes na urządzeniu (menu wielozadaniowe) i wyloguj się ze Sklepu w Ustawieniach

Jeśli żadne z powyższych nie działa, może to być problem na platformie IAP, zobacz moje komentarze poniżej.


Dzięki, ale żadna metoda 1 ani 2 nie zadziałała. Nadal nie można połączyć się z iTunes. :(
arkir

Właściwie spróbowałem sam i też nie mogę! Mam wrażenie, że jest to problem DZIŚ / NIEDAWNO z platformą. Ale nie mogę znaleźć żadnego linku, aby to potwierdzić (stan). Argh !. Zostawiam to na kilka godzin i zobaczę, czy tak jest i jest to coś zewnętrznego dla twórców
Juan Fran Jimenez

Czy próbowałeś zabić aplikację iTunes na urządzeniu (menu wielozadaniowe) i wylogować się ze Sklepu w Ustawieniach?
Juan Fran Jimenez,

Dodam, że Game Center (przynajmniej piaskownica) było niestabilne przez ostatnie 5 dni. Dopiero ostatnia noc zaczęła działać lepiej. Wspominam o tym, ponieważ mój kod IAP nie zmienił się od czasu mojej odpowiedzi i teraz działa. Jestem skłonny myśleć, że wystąpił błąd na platformie Apple IAP i że w jakiś sposób był on również powiązany z Game Center.
Juan Fran Jimenez,


1

Ten błąd może również wystąpić podczas ponownego korzystania ze starego konta piaskownicy, które zostało przetestowane przez poprzednie zakupy w aplikacji w innej aplikacji z (Mój scenariusz). Apple naprawdę musi zaktualizować sposób, w jaki testujemy IAP, kończy mi się e-maile: 0


Ja też miałem ten problem. Czasami pomaga utworzenie nowego użytkownika. Nie musisz też używać prawdziwego e-maila. Przeszedłem - ## na końcu i dodawałem nowe.
Jeremiah

1

Mogłem kupować w aplikacji na iPhonie, ale nie na iPadzie (11.0.2). Próbowałem ze wszystkimi wymienionymi rozwiązaniami, ale żadne nie pomaga. Po wypróbowaniu wszystkich innych możliwości w końcu udało mi się to zrobić.

Podczas tworzenia konta testowego w iTunes Connect nie weryfikuj identyfikatora e-mail. Jeśli jest zweryfikowany, iap zwraca błąd „Nie można połączyć się z iTunes”. Wygląda dziwnie, ale tak mi się udało. Na iPhonie, niezależnie od weryfikacji email, mogę kupować używając konta testowego.


Przeczytałem to i na początku brzmiało to szalenie, ale faktycznie zadziałało. Miałem dokładnie ten sam problem z kontem testowym, które nie mogło dokonać zakupu na iPadzie, ale działało dobrze na iPhonie. Bardzo dziwny!
axanpi

Tak. To jest dziwne. Nasza aplikacja została odrzucona z powodu tego problemu i musiałem wyjaśnić zespołowi przeglądającemu Apple powód i uzyskałem jej zatwierdzenie.
Anish

1

Oto wyczerpująca lista kontrolna, jeśli pojawia się ten błąd „nie można połączyć się z iTunes Store”:

  • Upewnij się, że masz użytkownika piaskownicy utworzonego w App Store Connect

  • Symulator NIE obsługuje zakupów w aplikacji: przetestuj na prawdziwym urządzeniu

  • Piaskownica może być nieosiągalna. Sprawdź stan systemu Apple
  • Sprawdź, czy Twoja aplikacja ma wersję pakietu (CFBundleVersion)
  • Sprawdź, czy produkt jest dostępny w sprzedaży. Czy utworzyłeś go w App Store Connect?

  • W przypadku poprzedniego systemu iOS 12 wylogowano się z wszelkich kont produkcyjnych iTunes na urządzeniu. W przeciwnym razie możesz po prostu zalogować się w aplikacji deweloperskiej za pomocą konta piaskownicy.


0

Ten błąd wystąpił również, gdy do SKProductsRequest przekazano nieprawidłowy zestaw NSSet:

Źle:

let products = NSSet(objects: ["id1", "id2"])

Poprawny:

let products = NSSet(objects: "id1", "id2")

0

W moim przypadku, po prostu zapomniał uchwyt .failedw transactionState. W szczególności SKPaymentQueueue.default().finishTransaction(transaction).


0

Ten sam problem dotarł do mnie i sprawdziłem problem, w tym formularz Apple , nie mogłem znaleźć rozwiązania.

Dzisiaj podczas sprawdzania urządzenia stwierdziłem, że następujące

W ustawieniach urządzenia -> iTunes i App Store znalazły inny zalogowany identyfikator Apple . Próbowałem więc podpisać to i ponownie sprawdziłem zakup InApp, zadziałało idealnie. Więc sprawdź, czy problem jest powiązany z tym samym, czy nie.

Dzięki i pozdrawiam, Unnikrishnan.P


0

Musiałem przejść do opcji Ustawienia> iTunes i sklepy z aplikacjami, a następnie przewinąć do dołu do pola „Konto piaskownicy” i wylogować się stamtąd. Teraz działa!!!

wprowadź opis obrazu tutaj


0

Oprócz wszystkich innych opisanych tutaj metod, jeśli pracujesz z subskrypcjami, wydaje się, że musisz upewnić się, że wygenerowałeś wspólny sekret:

„Aby przetestować lub zaoferować automatycznie odnawialne subskrypcje, musisz mieć główny wspólny sekret lub użyć wspólnego hasła specyficznego dla aplikacji dla każdej aplikacji”.

Główny wspólny sekret jest generowany na karcie „Shared Secret” w sekcji „Users and Access” w App Store Connect.

W przypadku zarządzania zakupami samej aplikacji w aplikacji generowany jest wspólny sekret specyficzny dla aplikacji.


0

Naprawiłem moje! Jeśli otrzymujesz Error Domain=SKErrorDomain Code=2 "Cannot connect to iTunes Store"błąd, upewnij się, że wstawiłeś SKPaymentQueue.default().finishTransaction(transaction). U mnie zadziałało po dodaniu SKPaymentQueue.default().finishTransaction(trans):

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for trans in transactions{
        if trans.transactionState == .purchased {
            print("Successful.")
            SKPaymentQueue.default().finishTransaction(trans)
        } else if trans.transactionState == .failed {
            print("failed!")
            print(trans.error)
            SKPaymentQueue.default().finishTransaction(trans)
        }
    }

Znalezione w witrynie programisty Apple, tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.