Ich arbeite daran, meiner App In-App-Käufe hinzuzufügen.
Ich kann die productsRequest:didReceiveResponse
Methode und die Produktpalette empfangen.
Mein Problem tritt auf, wenn ich der SKPaymentQueue eine SKPayment hinzufüge . Nachdem ich das Produkt zur Warteschlange hinzugefügt habe,paymentQueue:updatedTransactions
haben die Transaktionen in der Methode immer den Status SKPaymentTransactionStateFailed .
Ich NSLog die "transaction.error" und dies ist, was es zurückgibt: Fehler Domain = SKErrorDomain Code = 0 UserInfo = 0x165000 "Kann keine Verbindung zum iTunes Store herstellen"
Ich habe mich in der App "Einstellungen" aus dem Store abgemeldet, aber nachdem ich versucht habe, ein Produkt in meiner App zu kaufen, werde ich nie aufgefordert, mich mit meinem Testkonto anzumelden. Es schlägt nur mit dem obigen Fehler fehl.
quelle
Antworten:
Ich gehe davon aus, dass Sie die Standardprüfungen durchgeführt haben: Überprüfen Sie Ihren Code noch einmal, bestätigen Sie Ihre Produkt-IDs, vergleichen Sie Ihren Code mit dem In-App Purchase Programming Guide usw.
Dies mag lächerlich sein, aber - wenn Sie sicher sind, dass Ihr Code korrekt ist - führen Sie einen Hard-Reset (vollständiges Löschen) Ihres iPod durch (Einstellungen => Allgemein => Zurücksetzen => Alle Inhalte und Einstellungen löschen). Ich habe stundenlang über dieses genaue Problem nachgedacht - es stellte sich heraus, dass mein Code korrekt war und der Hard-Reset die Lösung war.
quelle
Ich habe den
SKPaymentTransactionStateFailed
Fehlercode 0 " Verbindung zum iTunes Store nicht möglich " erhalten und dank thomax für diese Antwort ist mein Problem gelöst. Es stellt sich heraus, dass Sie unter Ziele-> Zusammenfassung eine Build-Nummer eingeben MÜSSEN .Ich habe die letzten 24 Stunden damit verbracht, mein Telefon zurückzusetzen, mit iTunes Connect zu schrauben und fast alles zu tun, was mir einfiel, bevor ich auf diese Lösung stieß.
quelle
Ich hatte den gleichen Fehler erhalten, wurde jedoch zur Eingabe meines Testbenutzerkontos aufgefordert. Und auch ein Popup mit der Aufschrift "Ein unbekannter Fehler ist aufgetreten". Es stellte sich heraus, dass ich mich beim Erstellen meines Testbenutzerkontos und Abmelden bei den Einstellungen -> Speichern entschieden hatte, mich mit meinem Testbenutzerkonto anzumelden, was mich zu einer Reihe von Informationen einschließlich der Abrechnung veranlasst hatte, die mein Testbenutzerkonto beschädigt hatten . Als ich ein neues Testbenutzerkonto erstellte und mich nur anmeldete, wenn ich während des In-App-Kauftests dazu aufgefordert wurde, funktionierte alles reibungslos.
quelle
Dieser Fehler (dh "Fehler! Es kann keine Verbindung zum iTunes Store hergestellt werden") kann auftreten, wenn Sie einen In-App-Kauf mit Sandbox durchführen, sich jedoch mit Ihrem normalen Apple-Konto angemeldet haben.
Ich finde, es hilft, Verwirrung zu vermeiden, wenn ich mich von meinem Apple-Konto abmelde, bevor ich In-App-Käufe tätige. Wählen Sie dann im Dialogfeld "Anmelden" die Option "Vorhandene Apple ID verwenden" und geben Sie Ihre Testbenutzerdetails ein.
Denken Sie daran, dass dies in Ihren Einstellungen festgelegt wird, sodass Sie sich nach Abschluss der In-App-Käufe abmelden müssen.
Wenn Sie eine andere Apple ID verwenden, werden verschiedene iTunes-bezogene Einstellungen wie iTunes Match zurückgesetzt.
quelle
Sie können überprüfen, ob der folgende Link funktioniert oder eine Zeitüberschreitung auftritt:
https://sandbox.itunes.apple.com/verifyReceipt
Alternativ können Sie unwissenschaftlich, aber zuverlässig überprüfen, ob die Sandbox funktioniert:
https://devforums.apple.com/community/ios/connected/purchase
Wenn der Sandkasten nicht in Betrieb ist, werden wahrscheinlich bereits Leute darüber sprechen, wie jetzt (18. Januar 2012, 18:40 Uhr UTC-Zeit).
quelle
Ich war auch mit dem gleichen Fehler konfrontiert. Ich habe herausgefunden, dass der Fehler nur im Simulator auftritt. Als ich zum Debuggen des Geräts wechselte, trat der Fehler nicht auf.
quelle
Melden Sie sich einfach in den Einstellungen von Ihrem AppStore-Konto ab ...
Das Problem wurde für mich behoben, da mein Gerät mit meiner regulären Apple ID protokolliert wurde und die Käufe in der Sandbox immer mit der Testbenutzer-ID getätigt wurden. Das Gerät hat versucht, meine reguläre Apple Store ID an den resultierenden "Test" App Store zu senden bei diesem Fehler "Kann keine Verbindung zum iTunes Store herstellen".
Dies ist die häufigste Ursache, die ich auf meinem Gerät gesehen habe.
quelle
Bei dem gleichen Problem habe ich mein Gerät zurückgesetzt, die Kennungen überprüft und die App neu installiert. Dachte auch das Problem war, weil ich die Referenz und die Beschreibung der Produkte geändert hatte. In Wirklichkeit habe ich das Gefühl, dass mein Testbenutzer als mehrere Personen gesperrt wurde, die dasselbe Konto verwendeten, und dass die Kennwortüberprüfung möglicherweise mehrmals fehlgeschlagen ist. Also habe ich einen anderen Testbenutzer neu erstellt und der In-App-Kauf funktioniert wieder. Hoffe das hilft. Ich war total ratlos über diesen Fehler.
quelle
Stellen Sie sicher, dass Ihre BundleIDs übereinstimmen. Das war mein problem
quelle
Selbst eine vollständige Wiederherstellung hat dieses Problem für mich nicht gelöst.
Nach dem Aufrufen
addPayment
einer Produktkennung mit automatischer Verlängerung verging ungefähr eine Sekunde, bevor ich den Fehler "SKErrorDomain Code = 0" von StoreKit erhielt. Zu keinem Zeitpunkt wurde ich nach einem iTunes Store-Benutzernamen und -Kennwort gefragt (wie in der Dokumentation von Apple vorgeschlagen ). Die Transaktion ist einfach fehlgeschlagen.Um dies zu beheben, musste ich iTunes Connect ein gefälschtes "Verbrauchsmaterial" hinzufügen und
addPayment
mit der Produktkennung des gefälschten Verbrauchsmaterials anrufen . Dies führte dazu, dass der iTunes Store-Dialog angezeigt wurde. Ich habe mich dann mit einem Testkonto angemeldet, das ich in iTunes Connect erstellt habe. Dies gelang: Mein Antrag wurde benachrichtigt, dass das Verbrauchsmaterial gekauft wurde.Nachdem ich dies getan hatte, konnte ich
addPayment
mit meiner Produktkennung für die automatische Verlängerung anrufen und das Abonnement normal erwerben.quelle
Stellen Sie sicher, dass Sie mit Sandbox-Benutzerkonten testen, die aus itunesconnect erstellt wurden, und nicht mit Ihrer tatsächlichen Apple-ID für Ihr persönliches Konto, wenn Sie dieses Material testen.
quelle
Ich fand es erwähnenswert, dass die Lösung von DonnaLea, sich nur anzumelden, wenn Sie zur Zahlung aufgefordert werden, auch für dasselbe Problem mit Unity und dem StoreKit-Plugin von Prime31 funktioniert. Wenn Sie versuchen, sich über dasselbe Einstellungsmenü anzumelden, das Sie zum Abmelden verwenden, werden Sie nach allen Arten von Abrechnungs- und Adressdetails gefragt, die dieses Testkonto dauerhaft zu "brechen" scheinen.
quelle
Ich befand mich in dieser Situation, als ich daran arbeitete, In-App-Käufe hinzuzufügen, und tat es beim ersten Mal nicht genau richtig. In meinem Fall hatte ich einen Fehler in serverseitigem PHP und daher glaube ich, dass ich nicht bis zu "finishTransaction:" durchgekommen bin. Selbst nachdem ich die Probleme behoben hatte (ich habe das Programm auf ein separates Gerät gestellt und erfolgreich gekauft), wurde immer wieder "Sie haben dies bereits gekauft, klicken Sie zum Herunterladen" gefolgt von "Verbindung zum iTunes Store nicht möglich" angezeigt.
Ich habe es endlich geschafft, damit aufzuhören, indem ich das Spiel von Springboard (nicht von XCode) aus gestartet habe. Die Transaktion wurde sofort erfolgreich verarbeitet und ich wurde nicht mehr zum erneuten Herunterladen aufgefordert.
quelle
Dies ähnelt der oben akzeptierten Antwort. Beim Versuch, mich bei meinem iTunes-Konto auf meinem Telefon anzumelden, nachdem ich mich mit einem IAP-Sandbox-Konto angemeldet hatte, wurde der Fehler "Verbindung zum iTunes Store kann nicht hergestellt werden" angezeigt.
Um das Problem zu lösen, konnte ich einfach alle Einstellungen zurücksetzen, anstatt alle Inhalte und Einstellungen zu löschen (Einstellungen => Allgemein => Zurücksetzen => Alle Einstellungen zurücksetzen). Auf jeden Fall besser, als alles auf Ihrem Gerät verlieren und neu installieren zu müssen.
quelle
Ich hatte das gleiche Problem, zunächst habe ich kein Testkonto erstellt, also habe ich es erstellt, indem ich Hilfe über diesen Link erhalten habe: https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ SettingUpUserAccounts.html # // apple_ref / doc / uid / TP40011225-CH25-SW10
Dann müssen Sie sich von Ihrem aktuellen Konto auf Ihrem Gerät abmelden. Wenn Sie den Kauf kaufen, werden Sie nach dem Benutzerkonto gefragt. Geben Sie dann das Testkonto ein.
quelle
Ich hatte das gleiche Problem. Ich hatte zuvor ein Testbenutzerkonto erstellt und mich aus dem iTunes Store abgemeldet, in der Erwartung, dass ich beim Kauf der In-App aufgefordert werde, mich für mein Testbenutzerkonto anzumelden. Stattdessen habe ich die Nachricht erhalten, dass keine Verbindung zum iTunes Store hergestellt werden kann. Als ich mich mit meinem echten iTunes-Benutzernamen / Passwort anmeldete und meine Test-App ausprobierte, funktionierte sie perfekt. Ich habe mich dann wieder aus dem iTunes Store abgemeldet und meine App hat großartig funktioniert und mich zur Eingabe meiner ID / PW aufgefordert
quelle
Ich hatte den gleichen Fehler, aber das Problem war nicht genau das gleiche. Vielleicht nützlich für jemanden:
Ich habe eine externe Datei in die Struktur meiner App eingefügt. Der Grund, warum ich dies getan habe, ist, dass ich diese Datei in der Produktion dinamisch von einem Server einfüge, aber in der Entwicklung dachte ich, es sei schneller, eine App namens iExplorer zum Einfügen dieser Datei zu verwenden. Ich habe dies getan ist die Vergangenheit und ich hatte dieses Problem nicht. Wenn ich diese Datei in den letzten Tagen direkt mit iExplorer einfüge, gibt meine App den Fehler zurück: "Es kann keine Verbindung zum iTunes Store hergestellt werden". (auf Spanisch: "Kein puede conectarse ein iTunes Store").
Ich denke, das liegt daran, dass ich diesmal die Datei in den .app-Ordner eingefügt habe. Wenn Sie also Ihren .app-Ordner in irgendeiner Weise ändern, wird die Codesignatur unterbrochen und die Verknüpfung mit dem iTunes Store funktioniert nicht mehr direkt.
quelle
Für mich wurde das Problem durch das Hochladen einer Binärdatei behoben. Da diese Antwort auf dieser Seite, die zu den Top-Hits bei Google zu gehören scheint, nicht gegeben wurde, dachte ich, ich würde sie hinzufügen.
quelle
Ich dachte, ich sollte meine jüngsten Erfahrungen mit demselben Problem teilen:
Ich hatte vor ein paar Tagen das gleiche Problem, bei dem es von einem Tag auf den anderen nicht mehr funktionierte. Nach der Authentifizierung bei meinen Testbenutzern wurde folgende Fehlermeldung angezeigt:
Error Domain=SKErrorDomain Code=0 UserInfo=0x165000 "Cannot connect to iTunes Store"
Ich hatte keine Änderungen am Code vorgenommen und wir konnten uns keine weiteren Änderungen an unserem iTunes-Konto oder an IAP-Produkten vorstellen, die die Probleme ausgelöst haben könnten. Das einzige, was möglicherweise in Zusammenhang stand, war das Hinzufügen weiterer iTunes-Testbenutzer (obwohl ich zuvor ohne Probleme ~ 15 Konten hinzugefügt habe). Ich habe es auf verschiedenen Geräten und dem Simulator getestet.
Ich habe alle verfügbaren Checklisten und alle möglichen Lösungen (auch alles oben Genannte) ohne Erfolg durchgesehen . Schließlich dachte ich mir, ich könnte das ganze Wochenende über eine Pause machen, da ich Leerzeichen zeichnete. Und seltsamerweise (und zum ersten Mal überhaupt) hat es tatsächlich funktioniert , nichts zu tun ! Ich habe weder Code geändert noch etwas an unserem iTunes-Konto oder der App geändert.
Die einzigen Gründe, an die ich denken kann, sind:
quelle
Überprüfen Sie, ob Sie in Ihrem persönlichen iTunes-Konto im Appstore angemeldet sind. Wenn Sie sind, erhalten Sie diese Nachricht. Auch wenn Sie in der App in Ihrem Sandbox-Konto angemeldet sind. Um dieses Problem zu beheben, melden Sie sich von Ihrem persönlichen Konto im App Store ab und versuchen Sie dann, Ihren In-App-Artikel zu kaufen und dann Ihr Sandbox-Konto zu verwenden. Dies löste mein Problem.
quelle
Nun, wie immer habe ich "alle verfügbaren Lösungen ausprobiert und es hat nicht geholfen" :) Also, hier ist mein Beitrag zu dieser unbegrenzten Sammlung von Stolpersteinen:
Wenn die Anwendung derzeit (aus irgendeinem Grund) nicht zum Verkauf steht, tritt dieser Fehler auf.
quelle
Ich habe den gleichen Fehler, wenn ich rief
SKProductsRequest
‚sstart
Methode in meinem Test env, lief es in- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
Als ich meine Produktionsumgebung anrief, war sie korrekt und lief ein
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
Schließen Sie
charles
oder jede http-Proxy-Software so schnell wie möglich! Schließencharles
oder jede http-Proxy-Software so schnell wie möglich! Schließen Siecharles
oder jede http-Proxy-Software so schnell wie möglich!Du weißt es ~
quelle
Ich hatte das gleiche Problem, habe es aber durch den folgenden Modus gelöst:
- Ich habe den iPhone 5S-Emulator mit iOS 8.4 verwendet (dies ist das wichtigste. Die Apple Store-Verbindung funktioniert nicht mit dem iOS 11-Emulator).
- Auf dem Emulator habe ich den aktiviert folgende Einstellung: Einstellungen / Entwickler / HTTP-Dienste zulassen (Dies ist für die Internetverbindung)
- vorübergehend habe ich Avast Antivirus Web Shield deaktiviert (Dies gilt auch für die Internetverbindung)
quelle
Die häufig gestellten Fragen zum In-App-Kauf enthalten folgende Informationen:
In meinem Fall ist der Fehler aufgetreten, weil ich den Simulator verwendet habe.
Selbst im In-App Purchase Programming Guide heißt es, dass für die Verwendung des Entwicklungs-iOS-Geräts ein Testschritt empfohlen wird .
quelle
Als Apple-Dokumentation:
Verbindung zum iTunes Store kann nicht hergestellt werden Das Problem "Verbindung zum iTunes Store kann nicht hergestellt werden" kann einen oder mehrere der folgenden Gründe haben:
https://developer.apple.com/library/content/technotes/tn2413/_index.html
quelle
Ich habe alles versucht, um dieses Problem zu lösen.
Echtes Gerät nicht Simulator.
Neues registriertes Sandbox-Testkonto (geben Sie die zusätzlichen Informationen nicht ein, um eine formelle Apple ID zu erhalten)
Melden Sie sich von den zugehörigen Konten ab. (ICould, App Store, möglicherweise das Sandbox-Testkonto einer anderen App)
Füllen Sie alle Steuern und Vereinbarungen auf der itunesconnect-Website aus
Auch auf Werkseinstellungen zurücksetzen LOL ...
Geben Sie immer SKErrorDomain Code = 0 zurück
"Es kann keine Verbindung zum iTunes Store hergestellt werden"
...
Die Lösung meines Falls ist nach drei Tagen Kampf endlich fertig:
Und schließlich finde ich den Schlüssel. Versuchen Sie mit einem anderen Gerät, den iAP zu testen, wenn das iOS Ihres Geräts iOS13.4.x ist.!!! Und ich aktualisiere die Betriebssystemversion dieses defekten Geräts auf iOS14.0.1. IAP funktioniert wie ein Zauber.
quelle