webentwicklung-frage-antwort-db.com.de

IPv6 App Store Ablehnung

Unser Update wurde heute zweimal wegen Problemen mit der IPv6-Netzwerkverbindung abgelehnt. Unser Netzwerkcode hat sich zwischen der vorherigen Version und dieser aktuellen Version nicht geändert. 

Die App stellt nur https-Netzwerkanfragen an api.metooapp.io ab, das für ipv6 [ 0 ] richtig konfiguriert ist und hinter route53 unter AWS läuft. Der Code enthält keine fest codierten IP-Adressen.

Ich kann dieses Problem nicht reproduzieren, auch nachdem ich die Schritte zum Erstellen eines IPv6-Netzwerks unter [ 1 ] durchgeführt habe. Dies ist der Link, der in der Ablehnungsbenachrichtigung angegeben wurde. Es sieht so aus, als ob ich nicht der einzige bin, der dieses Problem hat, [ 2 ].

86
Sean Thielen

Nach einiger Anstrengung kann ich bestätigen, dass das Problem ein Problem war, bei dem unser Backend nicht korrekt für IPv6 konfiguriert wurde. Anscheinend unterstützt AWS weder IPv6 noch reines IPv6-DNS über Route53. Am Ende entfernte ich das gesamte Internet, das mit dem Backend zu kämpfen hatte, von AWS.

Ich wollte das aufgeben, weil ich denke, dass es wahrscheinlich andere geben wird, die ähnliche Probleme haben, wenn die Leute anfangen, Updates über die reine IPv6-Beschränkung hinaus einzureichen. Das beste Werkzeug, das ich zum Testen von Server/DNS-Bereitschaft gefunden habe, war: http://ready.chair6.net/

36
Sean Thielen

Bitte beachten Sie, dass Unterstützung für reine IPv6-Netzwerke und IPv6 und App Review link sehr hilfreich sein kann, um herauszufinden, welches Problem bei Apple abgelehnt wird .. In diesem Fall wird in den Artikeln eindeutig angegeben, dass Sie die Einrichtung vornehmen können das DNS64/NAT64-Testnetz aber das "Dieses Testnetzwerk ist nicht genau das gleiche wie das von App Review verwendete Netzwerk", deshalb kann alles in der Testumgebung funktionieren und die App trotzdem abgelehnt werden.

Außerdem:

Das App Review-Netzwerk, wie die vom Service bereitgestellten Netzwerke Anbieter unterstützt IPv6-zu-IPv6-Konnektivität. Wenn also Server unterstützt IPv6, Ihre App spricht direkt mit ihm, ohne zu gehen durch den NAT64-Übersetzer. Dies ist im Allgemeinen eine gute Sache, aber Wenn Ihr Server IPv6 unterstützt, aber IPv6 Unterstützung ist kaputt. Wenn beispielsweise: Der DNS-Name ist falsch. DNS ist korrekt, aber der Server hört nicht auf IPv6. Der Server ist Hören auf IPv6, schlägt jedoch fehl, wenn eine Anforderung über IPv6 eingeht

Wenn Ihr Backend-Server also Unterstützung für IPv6 hat, wird das Apple-Testnetzwerk es verwenden, was in diesem Fall falsch war.

Ich füge dies als Referenz und Ausgangspunkt für andere Benutzer hinzu, die das gleiche Problem haben 

11
lucianoenrico

Wir hatten das gleiche Problem und es stellte sich heraus, als wir einen AAAA-Eintrag für IPv6 eingerichtet hatten, da wir eigentlich keine IPv6-Unterstützung hatten (wir verwenden auch Route53). Durch das Entfernen des AAAA-Datensatzes wurde das Problem behoben. 

Ich habe a radar über die Diskrepanz zwischen der Dokumentation zum Testen und der Einrichtung, die App Review verwendet, angemeldet - wir konnten sie nur diagnostizieren, weil unser CTO an der WWDC war und eine Verbindung zu seinem Netzwerk herstellen konnte nicht gerade eine Situation, die wir regelmäßig reproduzieren können. 

10
DesignatedNerd

Wir sind in eine ähnliche Situation geraten. Unsere App wurde aufgrund von Verbindungsproblemen in IPv6-Netzwerken abgelehnt. Auch unsere Server verwenden AWS.

Ich habe den Test auf IPv6 DNS64/NAT64 ohne Probleme auf meiner Seite durchgeführt, und wir beschließen, einen Widerspruch gegen diese Ablehnung einzureichen. 

Wir haben erklärt, dass der Test auf unserer Seite erfolgreich abgeschlossen wurde und wir AWS-Infrastruktur verwenden. 

Nach zwei weiteren Tagen wurde die App erneut überprüft und akzeptiert

6
MP23

Unsere App wird beim ersten Mal abgelehnt. Wir richten die lokale Testumgebung auf der Basis von Apple document ein und stellen fest, dass unsere curl-Bibliothek zu alt ist, ohne dass standardmäßig ipv6 aktiviert ist. Also bauen wir die neueste curl lib und es funktioniert. Aber es wird wieder aus demselben Grund abgelehnt. Ich überprüfe viele Informationen, finde jemanden, der die gleiche Erfahrung hatte, beschwere mich einfach bei Apple Reviewer und sage, dass Ihre App in der Testumgebung gut funktioniert. Bitten Sie ihn, einen Techniker zur Verfügung zu stellen, wenn er darauf besteht, dass ein Fehler vorliegt. Das Apple Review Team hat unsere App am Wochenende genehmigt, als sie unsere Beschwerden sah.

Wie ich weiß, gibt es zwei Probleme, die Sie überprüfen müssen. Haben Sie die IP-Adresse in Ihrer App hart codiert? Richten Sie Ihren AAAA-Eintrag für Ihre Serverdomäne so ein, dass sie IPv6 unterstützt, Ihr Server jedoch nicht auf IPv6 wartet. Wenn ja, entfernen Sie einfach diesen AAAA-Eintrag in Ihren Domain-Einstellungen von Ihrem Domain-Provider-Standort.

5
ramon.liu

wir sind auf das gleiche Problem gestoßen.。 Unsere App wurde aus IPv6-Gründen aus Zeitgründen abgelehnt. Aber wir haben im ipv6-Netzwerk, das als offizielles Dokument von Apple konfiguriert wurde, einen Test durchgeführt: https://developer.Apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingundPreparingfürIPv6Transition/UnderstandingArrrrrrrrrrrrrrrrrrrosserialisierungspaket doc/uid/TP40010220-CH213-SW1

5
Ern Zhang

Die Erreichbarkeitsbibliothek muss IPv6-Netzwerkeinstellungen unterstützen. Verwenden Sie also diese Erreichbarkeitsklasse.

https://developer.Apple.com/library/content/samplecode/Reachability/Introduction/Intro.html#//Apple_ref/doc/uid/DTS40007324

3
BeyazBaron

Dies ist das zweite Mal, dass ich dieses Problem nach 6 Monaten angetroffen habe. Früher war es im Objective-C-Projekt mit AFNetworking und ich habe diese Lösung verwendet und es funktionierte auf einmal. Nun passierte auch Alamofire. Jungs, diese Lösung wurde 2 Mal für mich gearbeitet, und ich habe festgestellt, dass diese Frage zuerst bei Google ankommt, also poste ich die Antwort. 

Suchen Sie im Arbeitsbereich nach AF_INET und ändern Sie es an beliebiger Stelle in AF_INET6. Ich denke, es muss sich innerhalb der AFNetworking-Bibliothek oder der Alamofire-Bibliothek befinden, wenn Sie es verwenden. Es ist in der NetworkReachabilityManager-Klasse.

Ich habe diese Antwort aus der untenstehenden Quelle gefunden.

https://stackoverflow.com/a/38196337/4030971

EDIT: - 24. Juni - 

Das hat mir so oft geholfen, aber es gibt auch eine seltsame Lösung für dieses Problem. In unserem jüngsten Projekt haben wir diese Lösung angewendet, aber Apple lehnte die Anwendung ab. Dann haben wir ein Video gemacht, das zeigte, dass die App problemlos mit einem NAT64-Netzwerk verbunden ist, das auf einem Mac aus der WiFi-Sharing-Option erstellt wurde. Wir haben mit dem Video eine Überprüfung beantragt und sie haben dem Antrag zugestimmt. Wenn Sie mit all Ihren Möglichkeiten fertig sind, probieren Sie auch diese aus.

2
Mahesh Agrawal

Ich habe den Test für IPv6DNS64/NAT64 ohne Probleme ausgeführt, wie in Apple-Dokumentation vorgeschrieben.

wir können das Problem jedoch nicht reproduzieren (Absturz). Wir haben die App erfolgreich auf unseren Geräten installiert, ohne dass es zu Abstürzen kam. 

  • Wir haben ein Video dieses gesamten Testprozesses gemacht. (Das beinhaltet das Anzeigen der Konnektivität, das Herunterladen von Testflight, die NAT64-Netzwerkverbindung, App-Vorgänge). 
  • und fordern Sie die Ablehnung mit der Videodatei

Schließlich, App Store GENEHMIGT meine App

2
Phani Sai

Sie können Ihre API in der folgenden Website überprüfen. Ist Ihr API iPV6 konfiguriert oder nicht?

http://ipv6-test.com/validate.php

2
Anand Nanavaty

Ich habe das Problem gelöst, indem ich ihnen ein Video geschickt habe, das zeigt, dass meine App auf ipv6 funktioniert.

  1. ipv6 mit deinem macOS einrichten
  2. Videoband, mit dem Sie mit dem gemeinsam genutzten IPv6-Netzwerk verbunden sind und nachweisen, dass Ihre App in dieser Umgebung funktioniert.
0
SeungUn Ham

meine App wird zweimal im App Store abgelehnt. Sie geben einen Fehler an Twitter Login auf dem iPhone mit OS 11.4. Das Hauptproblem haben wir wegen der Rückruf-URL von Twitter, die nicht auf den Entwickler-Account von Twitter gesetzt ist. wenn ich Rückruf-URL auf Entwicklerkonto von Twitter gesetzt habe. Es löst mein Problem. Wenn wir auf dem Entwicklerkonto von Twitter keine Rückruf-URL setzen, ist der Login von Twitter erfolgreich, wenn das Gerät eine Twitter-App hat. Wenn jedoch keine Twitter-App auf dem Gerät vorhanden ist, wird der fehlerhafte Fehler 403 angezeigt.

Die Einstellung der Rückruf-URL überwindet also mein Problem und die App wird akzeptiert.

Vielen Dank 

0
Rahul Fate

Ich habe die gleiche App abgelehnt, wenn ich das Facebook SDK verwende. Wenn Sie das Facebook SDK für die Anmeldung verwenden, ist es äußerst wichtig, den Benutzer beim Beenden einer Sitzung abzumelden. Andernfalls werden Sie in der Zukunft mit ähnlichen App-Ablehnungen konfrontiert. Ich habe den folgenden Code eingefügt, um denjenigen zu helfen, die möglicherweise ähnliche Probleme haben.

let loginManager = FBSDKLoginManager()
loginManager.logOut()
0
Adam Cooper