Zestaw iPhone Store „Nie można połączyć się z iTunes Store”


79

Pracuję nad dodaniem zakupów w aplikacji do mojej aplikacji.

Jestem w stanie otrzymać productsRequest:didReceiveResponsemetodę i otrzymać szereg produktów.

Mój problem pojawia się, gdy dodam SKPayment do SKPaymentQueue . Po dodaniu produktu do kolejki w paymentQueue:updatedTransactionsmetodzie transakcje mają zawsze stan SKPaymentTransactionStateFailed .

I NSLoguj „transaction.error” i oto co zwraca: Error Domain = SKErrorDomain Code = 0 UserInfo = 0x165000 „Cannot connect to iTunes Store”

Wylogowałem się ze Sklepu w aplikacji Ustawienia, ale po próbie zakupu produktu w mojej aplikacji nigdy nie prosi mnie o zalogowanie się na moje konto testowe. Po prostu zawodzi z powyższym błędem.


dokładnie mój problem, wszystko idzie dobrze, dopóki nie pojawi się „nie można połączyć się z iTunes”, mam nadzieję, że ktoś ma pojęcie, co może być nie tak. Czy możesz dodać więcej tagów do pytania? W aplikacji jest tag zakupu, dostępny jest również cel-c ...
Marin Todorov


1
Nie jest to duplikat. Ten sam komunikat, ale inny kod błędu.
bkbeachlabs

Ten problem nadal występuje w 2020 roku
Mohamed Haseel

Odpowiedzi:


25

Zakładam, że wykonałeś standardowe kontrole poprawności: podwójne sprawdzenie kodu, potwierdzenie identyfikatorów produktów, porównanie kodu z Przewodnikiem programowania zakupów w aplikacji itp.

Może to być śmieszne, ale - jeśli masz pewność, że kod jest poprawny - wykonaj twardy reset (pełne wyczyszczenie) iPoda (Ustawienia => Ogólne => Resetuj => Usuń całą zawartość i ustawienia). Zastanawiałem się nad tym dokładnym problemem godzinami - okazało się, że mój kod jest poprawny i rozwiązaniem był twardy reset.


4
Miałem ten problem wcześniej i wykonałem pełne przywrócenie, które nie rozwiązało problemu. Okazało się, że serwery Sandbox nie działają. Dlatego przed skorzystaniem z tej rady zdecydowanie sugeruję sprawdzenie forów programistycznych pod kątem wszelkich znanych problemów.
Daniel Wood

2
@Daniel: czy istnieje link do statusu piaskownicy? Dzięki!
Olie

13
Obawiam się, że jeśli będziemy musieli wykonać twardy reset na naszych urządzeniach. Czy inni muszą robić w ten sam sposób, aby dokonać zakupu? Nikt nie chce robić twardego resetu tylko po to, by kupić jeden zakup w aplikacji.
Chanok

13
to niesamowite, jak Apple nigdy nie rozwiązało tego problemu, od czasu iOS 3.
Duck,

2
Poniżej znajduje się post wyjaśniający, że MUSISZ MIEĆ NUMER BUDYNKU! Samo posiadanie numeru wersji nie wystarczy. Nie wiem, dlaczego tak jest, ale tak jest. Jeśli zastanawiasz się, dlaczego nie mam numeru kompilacji, to dlatego, że mamy oddzielne procesy, aby dodać numer kompilacji podczas tworzenia wersji testowej lub produkcyjnej.
Mike

50

I był już SKPaymentTransactionStateFailedkod błędu 0 „ nie można połączyć się z iTunes Store ” i dzięki thomax dla tej odpowiedzi mój problem został rozwiązany. Okazuje się, że MUSISZ wprowadzić numer kompilacji w obszarze Cele-> Podsumowanie .

Ostatnie 24 godziny spędziłem na resetowaniu telefonu, podłączaniu iTunes i robieniu prawie wszystkiego, o czym mogłem pomyśleć, zanim natknąłem się na to rozwiązanie.

SKPaymentTransactionStateFailed code 0 Nie można połączyć się z iTunes Store

SKPaymentTransactionStateFailed code 0 Nie można połączyć się z iTunes Store


37
Poważnie Apple? Nie można połączyć się z iTunes Store to błąd. Co powiesz na ... „Nie można połączyć się z iTunes Store, ponieważ zostawiłeś cholerne pole kompilacji puste pod podsumowaniem celu”
AlBeebe

5
Cholera! Miałem ten sam problem przez całe trzy dni! Dziękuję, dobry zbawicielu!
scooterman

@Guy Sprawdź to też, może pomóc ... stackoverflow.com/questions/2138972/…
AlBeebe

Mi to pasuje. Ale przywracanie nie zadziała (. Pole budowania jest puste niż przywrócenie działa idealnie, ale kupowanie nie działa.
Igor

2
To rozwiązało to dla mnie. Chciałbym, żeby ten post był wyżej na liście; zaoszczędziłoby mi dzień lub dwa i wiele bólów głowy.
Mike

21

Otrzymałem ten sam błąd, ale zostałem poproszony o podanie konta użytkownika testowego. A także wyskakujące okienko z napisem „Wystąpił nieznany błąd”. Okazuje się, że kiedy utworzyłem testowe konto użytkownika i wylogowałem się z ustawień -> sklep, zdecydowałem się zalogować na moje testowe konto użytkownika, które poprosiło mnie o kilka informacji, w tym rozliczenia, które zepsuły moje testowe konto użytkownika . Kiedy utworzyłem nowe konto użytkownika testowego i logowałem się tylko wtedy, gdy pojawi się monit podczas testowania zakupu w aplikacji, wszystko działało sprawnie.


1
Gah, to też był mój problem. Jeśli umieścisz dane karty w miejscu, w którym popełniłeś błąd.
Will Jenkins

Dla mnie ten sam problem!
theprojectabot

17

Ten błąd (tj. „Błąd! Nie można połączyć się z iTunes Store”) może wystąpić, jeśli dokonujesz zakupu w trybie piaskownicy w aplikacji, ale jesteś zalogowany przy użyciu zwykłego konta Apple.

Uważam, że pomaga uniknąć nieporozumień, jeśli wyloguję się z konta Apple przed dokonaniem jakichkolwiek zakupów w aplikacji. Następnie w oknie dialogowym „Zaloguj się” wybierz opcję „Użyj istniejącego Apple ID” i wprowadź dane użytkownika testowego.

Pamiętaj tylko, że zostanie to ustawione w Ustawieniach, więc będziesz musiał się wylogować po zakończeniu zakupów w aplikacji.

Ponadto użycie innego Apple ID powoduje zresetowanie różnych ustawień związanych z iTunes, takich jak iTunes Match.


14

Możesz sprawdzić, czy ten link działa lub czy upłynął limit czasu:

https://sandbox.itunes.apple.com/verifyReceipt

Alternatywnie, nienaukowym, ale dość niezawodnym sposobem sprawdzenia, czy piaskownica działa, jest zapytanie pod adresem:

https://devforums.apple.com/community/ios/connected/purchase

Jeśli piaskownica nie działa, prawdopodobnie ludzie będą już o tym rozmawiać, tak jak teraz (18 stycznia 2012, 18:40 czasu UTC).


1
Podany przez Ciebie link Devforums pokazuje: „Element nie istnieje. Mógł zostać usunięty”.
Guy

7

Miałem również do czynienia z tym samym błędem. Doszedłem do wniosku, że błąd pojawia się dopiero na Symulatorze, kiedy przełączyłem się na debugowanie urządzenia, błąd się nie pojawił.


1
Przełączenie na urządzenie zadziałało dla mnie, może być ważne lub nie, aby pamiętać, że po przeczytaniu innych komentarzy tutaj ostrożnie wylogowałem się z mojego osobistego konta iTunes. Następnie po wyświetleniu monitu zaloguj się na konto testowe.
nacross

5

Po prostu wyloguj się z konta AppStore w ustawieniach ...

Rozwiązałem problem, ponieważ moje urządzenie było zalogowane przy użyciu mojego zwykłego identyfikatora Apple ID i ponieważ zakupy w piaskownicy są zawsze dokonywane przy użyciu identyfikatora użytkownika testowego, urządzenie próbowało wysłać mój zwykły identyfikator Apple Store do „testowego” sklepu App Store. na temat błędu „Nie można połączyć się z iTunes Store”.

To najczęstsza przyczyna, jaką widziałem na swoim urządzeniu.


To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienie, zostaw komentarz pod jego postem.
CSchulz

tak. Wylogowanie się z App Store rozwiązało błąd „nie można połączyć się z iTunes Store”. Następnym razem, gdy będziesz mieć ten problem, spróbuj tego.
Duck

W momencie, gdy sprawdzałem Twoją odpowiedź, było tylko jedno zdanie „Po prostu wyloguj się z konta AppStore w ustawieniach…”. Został oznaczony jako niskiej jakości. Przepraszam.
CSchulz

4

Trafiłem z tym samym problemem, zresetowałem urządzenie, zweryfikowałem identyfikatory, ponownie zainstalowałem aplikację. Pomyślałem również, że problem polega na tym, że zmieniłem odniesienie i opis produktów. W rzeczywistości wydaje mi się, że dzieje się tak, ponieważ mój użytkownik testowy został zablokowany jako wiele osób korzystających z tego samego konta, i istnieje możliwość, że weryfikacja hasła nie powiodła się wiele razy. Dlatego ponownie utworzyłem innego użytkownika testowego i zakupy w aplikacji wróciły do ​​pracy. Mam nadzieję że to pomoże. Byłem całkowicie zaskoczony tym błędem.


Stworzenie kolejnego użytkownika testowego też mi pomogło. Myślę, że resetowanie urządzenia działa dla kodu błędu -1003, ale nowe konto użytkownika działa dla kodu błędu 0.
Christopher Pickslay

4

Upewnij się, że Twoje BundleIDs są zgodne. To był mój problem.


ten mnie uratował! miał niezgodny identyfikator pakietu. Dzięki!
Lukas,

4

Nawet pełne przywrócenie nie rozwiązało tego problemu.

Po wywołaniu addPaymentautomatycznego odnawiania identyfikatora produktu minęło około jednej sekundy, zanim otrzymałem błąd „SKErrorDomain Code = 0” z StoreKit. W żadnym momencie nie zostałem o to poproszony (jak sugeruje dokumentacja Apple'a) ) o nazwę użytkownika i hasło do iTunes Store; transakcja po prostu się nie powiodła.

Aby rozwiązać ten problem, musiałem dodać fałszywy produkt „zużywalny” do iTunes Connect i zadzwonić addPayment używając fałszywego identyfikatora produktu. Spowodowało to wyświetlenie okna dialogowego iTunes Store. Następnie zalogowałem się na konto testowe, które utworzyłem w iTunes Connect. Udało się: moja aplikacja została powiadomiona, że ​​materiał eksploatacyjny został zakupiony.

Po wykonaniu tej czynności mogłem zadzwonić addPaymentz moim automatycznie odnawiającym się identyfikatorem produktu i normalnie kupić subskrypcję.


4

upewnij się, że testujesz z kontami użytkowników piaskownicy utworzonymi w itunesconnect, a nie z rzeczywistym identyfikatorem Apple dla konta osobistego podczas testowania tych rzeczy.


3

Pomyślałem, że warto wspomnieć, że rozwiązanie DonnaLea polegające na logowaniu się tylko po wyświetleniu monitu o płatność działało również w przypadku tego samego problemu z wtyczką StoreKit Unity i Prime31. Próba zalogowania się za pomocą tego samego menu ustawień, którego używasz do wylogowania, spowoduje wyświetlenie monitu o podanie wszelkich informacji dotyczących fakturowania \ adresu, co wydaje się trwale „uszkodzić” to konto testowe.


1

Znalazłem się w takiej sytuacji, kiedy pracowałem nad dodawaniem zakupów w aplikacji i nie zrobiłem tego dokładnie za pierwszym razem. W moim przypadku wystąpił błąd w PHP po stronie serwera, w wyniku czego wydaje mi się, że nie udało mi się dotrzeć do „finishTransaction:”. Nawet po naprawieniu problemów (umieściłem program na osobnym urządzeniu i pomyślnie kupiłem), ciągle otrzymywałem komunikat „Już to kupiłeś, kliknij, aby pobrać”, a następnie „Nie można połączyć się z iTunes Store”.

W końcu udało mi się przestać to robić, uruchamiając grę ze Springboard (nie XCode). Natychmiast pomyślnie przetworzył transakcję i przestał zachęcać mnie do ponownego pobrania.


1

Jest to podobne do zaakceptowanej odpowiedzi powyżej. Pojawił się błąd „nie można połączyć się ze sklepem iTunes Store” podczas próby zalogowania się do mojego konta iTunes na telefonie po zalogowaniu się przy użyciu konta IAP Sandbox.

Aby rozwiązać problem, mogłem po prostu zresetować wszystkie ustawienia zamiast wymazać całą zawartość i ustawienia (Ustawienia => Ogólne => Resetuj => Resetuj wszystkie ustawienia). Zdecydowanie lepsze niż utrata i ponowne instalowanie wszystkiego na swoim urządzeniu.



0

Miałem ten sam problem. Wcześniej utworzyłem testowe konto użytkownika i wylogowałem się ze sklepu itunes, spodziewając się, że po dokonaniu zakupu w aplikacji zostanie wyświetlony monit o zalogowanie się na moje testowe konto użytkownika. zamiast tego otrzymałem komunikat nie można połączyć się z iTunes Store. kiedy zalogowałem się za pomocą mojej prawdziwej nazwy użytkownika / hasła iTunes i wypróbowałem moją aplikację testową, działało idealnie. Następnie ponownie wylogowałem się ze sklepu itunes i moja aplikacja działała świetnie, monitując mnie o podanie mojego identyfikatora / pw


0

Miałem ten sam błąd, ale problem nie był dokładnie taki sam. Może przydatne dla kogoś:

W strukturze mojej aplikacji wstawiłem zewnętrzny plik. Powodem, dla którego to zrobiłem, jest to, że podczas produkcji wstawiam ten plik z serwera, ale w trakcie opracowywania pomyślałem, że szybsze będzie użycie aplikacji o nazwie iExplorer do wklejenia tego pliku. Zrobiłem to już w przeszłości i nie miałem tego problemu. Ale w ciągu ostatnich kilku dni, jeśli wkleię ten plik bezpośrednio za pomocą iExplorer, moja aplikacja zwróci błąd: „Nie można połączyć się z iTunes Store”. (w języku hiszpańskim: „No puede conectarse a iTunes Store”).

Myślę, że to dlatego, że tym razem wstawiłem plik do folderu .app. To sprawia, że ​​myślę, że jeśli zmodyfikujesz folder .app w jakikolwiek sposób, podpis Codesignature zepsuje się, a łącze do iTunes Store przestanie działać bezpośrednio.


0

U mnie problem został rozwiązany poprzez przesłanie pliku binarnego. Ponieważ tej odpowiedzi nie podano na tej stronie, która wydaje się być jednym z największych hitów w Google, pomyślałem, że ją dodam.


0

Pomyślałem, że powinienem podzielić się moim niedawnym doświadczeniem z tym samym problemem:

Kilka dni temu doświadczyłem tego samego problemu, w którym przestał on działać z dnia na dzień. Po uwierzytelnieniu przez moich użytkowników testowych pojawił się następujący błąd:Error Domain=SKErrorDomain Code=0 UserInfo=0x165000 "Cannot connect to iTunes Store"

Nie wprowadziłem żadnych zmian w kodzie i nie mogliśmy wymyślić żadnych innych zmian na naszym koncie iTunes lub produktach IAP, które mogłyby spowodować problemy. Jedyną rzeczą, która mogła być powiązana, było dodanie większej liczby użytkowników testowych iTunes (chociaż wcześniej dodałem ~ 15 kont bez problemów). Przetestowałem to na różnych urządzeniach i symulatorze.

Przeszedłem przez wszystkie dostępne listy kontrolne i wszystkie możliwe rozwiązania (również wspomniane powyżej) bez żadnego sukcesu. W końcu pomyślałem, że mogę odpocząć od tego przez cały weekend, skoro rysowałem puste miejsca. I co dziwne (i po raz pierwszy w historii), nic nie działało ! Nie zmieniłem żadnego kodu ani nic nie zmieniło się na naszym koncie iTunes ani w aplikacji.

Jedyne powody, jakie przychodzą mi do głowy, to:

  1. Coś było nie tak po stronie Apple.
  2. Problem spowodował inny czynnik czasowy związany z aplikacją, certyfikat lub coś innego.
  3. Leprechaun zakradł się do mojego biura i naprawił problem.

0

Sprawdź, czy jesteś zalogowany na swoje osobiste konto itunes w sklepie z aplikacjami. Jeśli jesteś, otrzymasz tę wiadomość. Nawet jeśli jesteś zalogowany na swoje konto piaskownicy w aplikacji. Aby rozwiązać ten problem, wyloguj się z konta osobistego w sklepie z aplikacjami, a następnie spróbuj kupić element w aplikacji, a następnie użyj konta piaskownicy. To rozwiązało mój problem.


0

Cóż, jak zwykle "wypróbowałem wszystkie dostępne rozwiązania i to nie pomogło" :) Oto mój wkład w tę nieograniczoną kolekcję potykających się kamieni:

Jeśli aplikacja nie jest obecnie w sprzedaży (z jakiegokolwiek powodu), ten błąd występuje.


0

Wystąpił ten sam błąd, gdy SKProductsRequestwywołałem startmetodę w moim testowym środowisku env, uruchomiła się - (void)request:(SKRequest *)request didFailWithError:(NSError *)error

Kiedy zadzwoniłem do mojego środowiska produkcyjnego, jest poprawne i uruchomione - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response

Zamknij charleslub jak najszybciej oprogramowanie proxy HTTP! Zamknij charleslub jak najszybciej oprogramowanie proxy HTTP! Zamknij charleslub jak najszybciej oprogramowanie proxy http!

Wiesz to ~


0

Miałem ten sam problem, ale rozwiązałem go w następującym trybie:
- korzystałem z emulatora iPhone'a 5S z iOS 8.4 (to jest najważniejsze. Połączenie Apple Store nie działa na emulatorze iOS 11)
- na emulatorze włączyłem następujące ustawienie: Ustawienia / Deweloper / Zezwalaj na usługi HTTP (to jest dla połączenia internetowego)
- tymczasowo wyłączyłem Avast Antivirus Web Shield (dotyczy to również połączenia internetowego)


0

In-App Purchase FAQ zawiera następujące informacje:

Nie można połączyć ze sklepem itunes

Problem „Nie można połączyć się z iTunes Store” może wynikać z co najmniej jednej z następujących przyczyn:

  • Piaskownica może być nieosiągalna.
  • Twoja aplikacja nie ma wersji pakietu (CFBundleVersion). Aby uzyskać więcej informacji, zobacz Ustawianie numeru wersji i ciągu kompilacji.
  • Twoja aplikacja działa w symulatorze, który nie obsługuje zakupów w aplikacji.
  • Próbujesz kupić produkt, który jest niedostępny w sprzedaży. Aby uzyskać więcej informacji, zobacz Zapytanie w App Store, aby uzyskać informacje o produktach przed zaprezentowaniem interfejsu użytkownika sklepu aplikacji.

W moim przypadku błąd wystąpił, ponieważ korzystałem z symulatora.

Nawet w Przewodniku programowania zakupów w aplikacji mówi się, że korzystanie z deweloperskiego urządzenia iOS ma sugerowany etap testowania .


0

Zgodnie z dokumentacją Apple:

Nie można połączyć się z iTunes Store Problem „Nie można połączyć się z iTunes Store” może wynikać z jednej lub kilku z następujących przyczyn:

  1. Piaskownica może być nieosiągalna.
  2. Twoja aplikacja nie ma wersji pakietu (CFBundleVersion). Aby uzyskać więcej informacji, zobacz Ustawianie numeru wersji i ciągu kompilacji.
  3. Twoja aplikacja działa w symulatorze, który nie obsługuje zakupów w aplikacji.
  4. Próbujesz kupić produkt, który jest niedostępny w sprzedaży. Aby uzyskać więcej informacji, zobacz Zapytanie w App Store, aby uzyskać informacje o produktach przed zaprezentowaniem interfejsu użytkownika sklepu aplikacji.

https://developer.apple.com/library/content/technotes/tn2413/_index.html


Inne: zmień wersję kompilacji na największą, wyloguj się z bieżącego konta w ustawieniach urządzeń. Teraz ponownie uruchom aplikację
Linh Nguyen

0

Próbowałem wszystkiego, co mogłem, aby poradzić sobie z tym problemem.

Prawdziwe urządzenie, a nie symulator.

Nowe zarejestrowane konto testowe Sandbox (nie wypełniaj dodatkowych informacji, aby było to formalne konto Apple ID)

Wyloguj się ze wszystkich powiązanych kont. (ICould, App Store, być może z konta testowego innej aplikacji)

Wypełnij wszystkie podatki i umowy w witrynie itunesconnect

Nawet przywróć ustawienia fabryczne LOL ...

zawsze zwraca kod SKErrorDomain = 0

"Nie można połączyć ze sklepem itunes"

...

Rozwiązanie mojej sprawy w końcu przyszło do mnie po 3 dniach walki:

I w końcu znajduję klucz. Spróbuj z innym urządzeniem, aby przetestować iAP, jeśli iOS twojego urządzenia to iOS13.4.x!!! A ja uaktualniam wersję systemu operacyjnego tego „zepsutego” urządzenia do iOS14.0.1, iAP działa jak urok.

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.