Ich schreibe StoreKit-bezogenen Code und erhalte einige ziemlich problematische Fehlercodes, wenn ich versuche, der Warteschlange einen Kauf hinzuzufügen.
Bisher sind die Fehlercodes -1003 und -1004 aufgetreten, und ich kann im Internet nichts über diese Codes finden.
Wenn Sie eine Produktanforderung ausführen, werden gültige Produktnummern zurückgegeben. Daher weiß ich nicht, warum Anrufe [[SKPaymentQueue defaultQueue] addPayment:aPayment];
bei diesem undokumentierten Problem fehlschlagen würden.
Der gleiche Code funktioniert auch ohne Fehler auf einem Gerät, jedoch nicht auf einem anderen.
Die Fragen, die ich habe, sind noch nicht beantwortet:
Was bedeuten diese Codes? Wie kann ich dieses Problem beheben? Warum treten sie bei Kaufversuchen und nicht bei Produktanfragen auf?
Die Fehlerbehebung, die ich durchgeführt habe, umfasst das Neuerstellen eines Signaturzertifikats und eines Bereitstellungsprofils, das Ändern von WiFi-Netzwerken, das Bereinigen und Erstellen sowie die Neuinstallation aller zugehörigen Software und Komponenten. Keines dieser Dinge einzeln oder zusammen hat zur Behebung des Problems beigetragen.
BEARBEITEN:
In den Apple-Entwicklerforen wurde eine Diskussion darüber gefunden, aber niemand von Apple hat geantwortet: https://devforums.apple.com/thread/107121?tstart=75 Entwicklerforen wurde (iOS-Entwicklerkonto zum Anzeigen erforderlich)
BEARBEITEN:
Ich wurde heute mit dem Fehlercode -1001 getroffen, um dieser Liste unerklärlicher und zeitweise auftretender Probleme hinzuzufügen. Immer noch keine Verantwortlichkeit von Apple, die ich finden kann.
BEARBEITEN:
Ich habe den Verdacht, dass diese Fehlercodes zufällig generiert werden und nur darauf hinweisen, dass die Sandbox nicht verfügbar ist. Hat noch jemand dieses Problem?
quelle
NSURLErrorUnknown
. Irgendwelche Hinweise?Ich habe ähnliche Probleme, in meinem Fall scheint dies mit der Netzwerkkonnektivität zu tun zu haben:
Dinge zu überprüfen:
Sorry, keine Ideen, wie man das behebt. Debuggen Sie dies einfach und versuchen Sie herauszufinden, wo das Problem liegt (-1021, -1001, -1009).
Update: Die Google-Suche war sehr nett, dies zu finden:
quelle
siehe NSURLError.h Definieren
quelle
Ich verwende die folgende Methode in meinem Projekt
Dann überprüfe ich einfach den Fehlercode und zeige Alarm, wenn er in der Liste enthalten ist
Aber wie Sie sehen, habe ich Codes auskommentiert, die meiner Meinung nach nicht zu meiner Definition von NO INTERNET passen. ZB der Code -1012 (Authentifizierung fehlgeschlagen). Sie können die Liste nach Belieben bearbeiten.
In meinem Projekt verwende ich es unter Benutzername / Passwort, die vom Benutzer eingegeben werden. Meiner Ansicht nach können (physische) Netzwerkverbindungsfehler der einzige Grund sein, die Warnansicht in Ihrer netzwerkbasierten App anzuzeigen. In jedem anderen Fall (z. B. falsches Paar aus Benutzername und Passwort) bevorzuge ich eine benutzerdefinierte benutzerfreundliche Animation oder wiederhole den fehlgeschlagenen Versuch erneut, ohne dass der Benutzer darauf achtet. Insbesondere, wenn der Benutzer keinen Netzwerkanruf explizit initiiert hat.
Grüße an martinezdelariva für einen Link zur Dokumentation.
quelle
Ich habe einen neuen Fehlercode gefunden, der oben nicht dokumentiert ist: CFNetworkErrorCode -1022
quelle
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
Ich habe diese Seite in der Dokumentation gefunden, die eine Zielliste für alle Fehlercodes unter der NSURLErrorDomain enthält.
https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Constants/index.html#//apple_ref/doc/constant_group/URL_Loading_System_Error_Codes
quelle