2016-07-20 5 views
0

Meine App wurde von Apple abgelehnt, weil sie keinen Inhalt kaufen konnten, wenn sie mit einem IPv6-Netzwerk verbunden sind. Ich musste die App nicht in einem IPv6-Netzwerk testen, aber in einem normalen Netzwerk hat alles funktioniert. Ich verwende derzeit die Komponente Xamarin.InAppPurchase (die aktuelle Version 2.8). Der Fehler, der beim Drücken der Schaltfläche "Kaufen" auftrat, war die Standardfehlerwarnung der InAppPurchase-Komponente "Fehler beim Kauf [...]". Hat jemand das gleiche Problem oder eine Lösung dafür?Xamarin ios in App Kauf mit Xamarin.InAppPurchase Komponente IPv6-Probleme

Antwort

0

Können Sie diesen Blogeintrag über die Bereitstellung von Xamarin iOS Apps ipv6 lesen? https://blog.xamarin.com/making-your-ios-apps-ipv6-ready/

unter anderem im Blog erwähnt, scheint das Hauptproblem mit hart codierten IPv4-Adressen werden:

Alle neu erstellten IP-Adressen benötigt, IPv6 oder umgewandelt IPv6 wenn verfügbar sein. Unsere Empfehlung ist, den Hostnamen immer zu verwenden, wenn möglich, aber wenn Sie nicht in der Lage sind, keine Angst zu haben, weil es mit der Erweiterungsmethode .MapToIPv6() sehr einfach ist. Dies ist eher eine schnelle Lösung, da Sie nie eine reine IPv6-Verbindung erhalten werden. In diesem Fall können Sie auch eine beliebige IP-Adresse manuell in ein Byte-Array konvertieren oder einfach die TryParse-Methode von IPAddress verwenden, um eine IPv6-Adresse zu analysieren. Überprüfen Sie außerdem einige der Methoden in System.Net.Dns, mit denen Sie die IP-Adresse für Sie auflösen können, wenn IPv6 verfügbar ist oder nicht. Wenn Sie HttpClient, BasicHttpBinding oder WebRequests verwenden, sind keine Änderungen erforderlich, es sei denn, Sie verwenden hartcodierte IP-Adressen wie oben beschrieben.