Acquisti in-app "Impossibile connettersi a iTunes Store"


98

Ho problemi a testare i miei acquisti in-app. Ricevo identificatori di prodotto validi, ma al momento dell'acquisto ricevo il temuto "Impossibile connettersi a iTunes Store". La cosa interessante è che il ripristino degli acquisti sembra funzionare: viene visualizzato il login di iTunes.

Ho: - Controllato che i miei acquisti in-app siano stati autorizzati per la vendita - Controllato, ricontrollato il mio codice sorgente per essere sincronizzato con la documentazione Apple - Aggiunti utenti di test appropriati - L'ID app non contiene caratteri jolly - Gli acquisti in-app sono collegati al app (l'app stessa è nello stato rifiutato dallo sviluppatore, gli acquisti sono pronti per l'invio) - atteso - app reinstallata, soluzione pulita, tutte le cose voodoo


26
+1 per "tutta la roba voodoo" - non è questa la verità!
Craig Watkinson

2
Apple, perché lo fai così complicato !!!
Borzh

Risposte:


113

Assicurati di esserti disconnesso da tutti gli account iTunes di produzione sul dispositivo.

Ho ricevuto questo errore sul mio telefono di prova che era connesso con il mio account iTunes effettivo. Non puoi testare le app utilizzando il tuo account iTunes di produzione, da cui l'errore. Vorrei solo che Apple fornisse un errore migliore in modo da evitare questa supposizione ...


1
Il mio errore è stato semplicemente non impostare un utente Sandbox, ho dimenticato quel passaggio. E non accedere dalla sezione Impostazioni >> iTunes del dispositivo b / c che lo interromperà. Aspetta e fallo durante il test vero e proprio.
Nathan Prather

Potresti anche ricevere questo errore quando riutilizzi un vecchio account sandbox con cui hai testato un precedente IAP su un'altra app con (Il mio scenario). Apple ha davvero bisogno di aggiornare il modo in cui testiamo gli IAP, sto finendo le e-mail: 0
David Baez

Lo sto testando nel simulatore, quindi questo non dovrebbe essere il problema qui, giusto?
Usama bin Attique

1
disconnesso da tutti gli account iTunes. mi richiede di accedere e quindi la transezione non riesce. ha utilizzato molti account tester sandbox ma non funziona.
bLacK hoLE

Per me nemmeno questo funziona ... Ho provato a creare molti account, alcuni con utente sandbox di iTunes registrato, altri senza utente registrato, anche senza confermare l'e-mail, non funziona niente!
Borzh


25

Per i nuovi arrivati, assicurati che lo stato del tuo prodotto di acquisto in-app sia Ready to Submit, senza "metadati mancanti". Nel mio caso, ciò che mancava era la localizzazione del gruppo dell'abbonamento.

inserisci qui la descrizione dell'immagine


1
Grazie! Nel mio caso, mancava una localizzazione per il nome visualizzato.
Justin

Nel mio IAP, mostra "Waiting for Upload". Ricevo ancora l'errore
Vaibhav Jhaveri

Questo è ciò che ha funzionato anche per me. Avevo effettuato l'accesso anche al mio account iTunes attivo, quindi l'account attivo non aveva importanza per me
cherucole

10

Ho riscontrato questo problema e sono convinto che sia un bug. Ho presentato una segnalazione di bug con Bug ID 10108270

Il problema sembra essere che l'utente di prova viene "bloccato" e potrebbe avere qualcosa a che fare con il tentativo di acquistare un acquisto in app in un'app già rilasciata con quell'account.

La mia soluzione alternativa era creare un nuovo utente di prova, ma finché Apple non mi ha risposto, non posso fornire soluzioni migliori. Aggiornerò questa risposta quando ricevo risposte.


4
Ho creato un nuovo utente di prova, ma non è stato d'aiuto.
arkir

Mi dispiace di non poterti aiutare di più, è stata la mia soluzione alternativa, è un peccato che non funzioni per te. Terrò aggiornata questa risposta quando avrò maggiori informazioni.
James Webster,

Ho creato un nuovo account di prova e l'acquisto in-app ha ricominciato a funzionare. Grazie!
Miha Hribar,

La creazione di un nuovo utente di prova ha risolto il problema per me. (Alcuni giorni fa ho ricevuto un avviso quando ho provato a utilizzare il mio vecchio utente di prova che era stato disabilitato, quindi ho dovuto riattivarlo. Subito dopo, ho iniziato a ricevere l' Cannot connect to iTunes storeerrore. Ma una volta creato un nuovo test utente, gli acquisti hanno funzionato di nuovo.)
Andrew

nuovo utente ha lavorato per me. prova solo prima di fare qualsiasi altra cosa.
Okhan Okbay

6

Questo problema rimane persistente nel 2016. Incredibile. Ecco la mia soluzione:

Aggiungi un numero di build. Target> Generale> Identità> Crea.


2
INCREDIBILE. Questo è ancora un problema nel 2018. Non uso un numero di build in modalità di debug perché lo incremento solo per le versioni di produzione. Grazie per aver postato questo.
Steven Peterson

3

Questo è un vecchio thread correlato al problema che stavo affrontando oggi.

Nel mio caso, sono stato in grado di testare gli acquisti in-app sul mio dispositivo fino a ieri, ma oggi ha smesso di funzionare. Si è scoperto che Apple aveva spinto un "Emendamento per le applicazioni a pagamento" affinché io lo esaminassi e accettassi. Una volta accettato l'emendamento (senza leggerlo, ovviamente), tutto ha ripreso a funzionare. Non è stato necessario creare un nuovo utente di prova o altre soluzioni alternative.

Potrebbero esserci molte ragioni per cui gli acquisti in-app non funzionano, ma assicurati di essere configurato correttamente itunesconnecto non sarai in grado di testare gli acquisti in-app.


2

Sto riscontrando lo stesso problema. Per me succede dopo questa sicurezza:

  • Installa l'app su un dispositivo connesso a un account del Regno Unito su iTunes
  • Avvia l'app e utilizza un set utente di prova negli Stati Uniti
  • Viene visualizzato un messaggio che dice che l'account è valido solo negli Stati Uniti. Chiude l'app e avvia automaticamente iTunes
  • Apri di nuovo l'app e riprova ad acquistare. Ricevi i prodotti ma nessun'altra richiamata o errore.

Non so se questo sia un problema sulla piattaforma IAP ma vorrei ricevere un errore / callback per gestirlo in qualche modo nel mio codice.

Per continuare a testare i tuoi acquisti in-app, prova uno di questi:

  1. Rimuovi il profilo di provisioning nell'area Impostazioni, rimuovi l'app e disconnettiti dallo Store in Impostazioni. Quindi vai su XCode e cambia le identità di firma in "Non firmare" per poi rimetterle a posto (so come suona :) ma prova) OPPURE
  2. Ripristina tutte le Impostazioni sul tuo dispositivo (Impostazioni -> Generali ...). Ovviamente perderai tutte le impostazioni su quel dispositivo ...
  3. Uccidi l'app iTunes sul dispositivo (menu multitask) e disconnettiti dallo Store nelle Impostazioni

Se nessuna delle soluzioni precedenti funziona, potrebbe essere un problema sulla piattaforma IAP, vedere i miei commenti di seguito.


Grazie, ma nessuno dei due metodi 1 o 2 ha funzionato per me. Non riesco ancora a connettersi a iTunes. :(
arkir

In realtà, ho provato me stesso e non posso neanche! Ho la sensazione che questo sia un problema OGGI / RECENTE con la piattaforma. Ma non riesco a trovare alcun collegamento per confermarlo (stato). Argh !. Lo lascio per qualche ora e vedo se è così ed è qualcosa di esterno agli sviluppatori
Juan Fran Jimenez,

Hai provato ad uccidere l'app iTunes sul dispositivo (menu multitask) e ad uscire dallo Store dalle Impostazioni?
Juan Fran Jimenez

Lasciatemi aggiungere che Game Center (sandbox almeno) è stato instabile negli ultimi 5 giorni circa. Solo ieri sera ha iniziato a funzionare meglio. Lo sto menzionando perché il mio codice IAP non è cambiato dalla mia risposta e ora funziona. Sono propenso a pensare che ci sia stato un errore sulla piattaforma IAP di Apple e che in qualche modo fosse anche correlato a Game Center.
Juan Fran Jimenez


1

Potresti anche ricevere questo errore quando riutilizzi un vecchio account sandbox con cui hai testato un precedente IAP su un'altra app con (Il mio scenario). Apple ha davvero bisogno di aggiornare il modo in cui testiamo gli IAP, sto esaurendo le e-mail: 0


Ho avuto anche questo problema. A volte la creazione di un nuovo utente aiuta. Inoltre non è necessario utilizzare una vera e-mail. Ho finito - ## alla fine del mio e continuo ad aggiungerne di nuovi.
Geremia

1

Sono stato in grado di acquistare in-app su iPhone ma non su iPad (11.0.2). Ho provato con tutte le soluzioni menzionate ma nessuna aiuta. Dopo aver provato tutte le altre possibilità, finalmente sono riuscito a farlo funzionare.

Quando crei un account di prova in iTunes Connect, non verificare l'ID e-mail. Se è verificato, iap restituisce l'errore "Impossibile connettersi a iTunes". Sembra strano ma è così che ha funzionato per me. In iPhone, indipendentemente dalla verifica e-mail, posso acquistare utilizzando l'account di prova.


L'ho letto e all'inizio sembrava folle, ma in realtà ha funzionato. Aveva esattamente lo stesso problema con l'account di prova che non era in grado di effettuare acquisti su iPad ma funzionava bene su iPhone. Molto strano!
axanpi

Sì. Questo è strano. La nostra app è stata rifiutata a causa di questo problema e ho dovuto spiegare il motivo al team di revisione di Apple e l'ho approvata.
Anish

1

Ecco la lista di controllo esaustiva se hai ricevuto questo errore "Impossibile connettersi a iTunes Store":

  • Assicurati di avere un utente sandbox creato in App Store Connect

  • Il simulatore NON supporta l'acquisto in-app: prova su un dispositivo reale

  • La sandbox potrebbe essere irraggiungibile. Controlla lo stato del sistema Apple
  • Verifica che la tua app abbia una versione bundle (CFBundleVersion)
  • Verifica che il prodotto sia disponibile per la vendita. Lo hai creato in App Store Connect?

  • Se precedente iOS 12, disconnesso da qualsiasi account iTunes di produzione sul dispositivo. Altrimenti, puoi semplicemente accedere all'app di sviluppo con il tuo account sandbox.


0

Questo errore si è verificato anche quando SKProductsRequest ha passato NSSet errato:

Sbagliato:

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

Corretta:

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

0

Nel mio caso, ho solo dimenticato di gestire .failedin transactionState. In particolare SKPaymentQueueue.default().finishTransaction(transaction),.


0

Lo stesso problema ha avuto per me, e avevo verificato il problema, incluso il modulo Apple , non sono riuscito a trovare una soluzione.

Oggi quando ho controllato il dispositivo ho scoperto che quanto segue

In Impostazioni dispositivo -> iTunes e App Store hanno trovato un altro ID Apple connesso . Quindi ho provato a signOut e ho ricontrollato l'acquisto di InApp, funzionava perfettamente. Quindi controlla che il problema sia collegato allo stesso o meno.

Grazie e saluti, Unnikrishnan.P


0

Dovevo andare su Impostazioni> iTunes e App Store, quindi scorrere fino in fondo al campo "Account Sandbox" ed uscire da lì. Ora funziona !!!

inserisci qui la descrizione dell'immagine


0

Oltre a tutti gli altri metodi descritti qui, se stai lavorando con gli abbonamenti sembra che tu debba assicurarti di aver generato un segreto condiviso:

"Per testare o offrire abbonamenti con rinnovo automatico, è necessario disporre di un segreto condiviso principale o utilizzare un segreto condiviso specifico dell'app per ciascuna app."

Un segreto condiviso principale viene generato dalla scheda "Segreto condiviso" della sezione "Utenti e accesso" di App Store Connect.

Viene generato un segreto condiviso specifico dell'app in cui gestisci gli acquisti in-app dell'app stessa.


0

Ho aggiustato il mio! Se ricevi un Error Domain=SKErrorDomain Code=2 "Cannot connect to iTunes Store"errore, assicurati di inserire SKPaymentQueue.default().finishTransaction(transaction). Ha funzionato per me dopo aver aggiunto SKPaymentQueue.default().finishTransaction(trans)quanto segue:

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)
        }
    }

Trovato nel sito web degli sviluppatori Apple, qui

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.