IPv6 App Store-Ablehnung


89

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

Die App sendet nur https-Netzwerkanforderungen an api.metooapp.io, das für ipv6 [ 0 ] korrekt konfiguriert ist und unter route53 unter AWS ausgeführt wird. Der Code enthält keine fest codierten IP-Adressen.

Ich kann dieses Problem nicht reproduzieren, selbst nachdem ich die Schritte zum Erstellen eines IPv6-Netzwerks unter [ 1 ] ausgeführt habe. Dies ist der Link, der in der Ablehnungsbenachrichtigung angegeben wurde. Es sieht so aus, als wäre ich nicht der einzige, bei dem dieses Problem auftritt [ 2 ].


Verwenden Sie AFNetworking(wenn ja, welche Version)? Reachability? ThirdParty-Bibliotheken?
Brandon

Alamofire 3.4.0 und Reachability.swift , aber die Art und Weise, wie ich Reachability verwende, ist nur für optionale Hintergrundaufgaben. Mein Hauptproblem ist, dass ich dies nicht reproduzieren kann, selbst nachdem ich die Anweisungen von Apple befolgt habe.
Sean Thielen

Fügen Sie Ihren Netzwerkcode auch in der Frage hinzu
error2007s

@ error2007s Der Netzwerkcode ist Alamofire
Sean Thielen

1
Haben Sie den neuesten Apple IPv6-Dongle gekauft?
anders

Antworten:


36

Nach einigem Stress kann ich bestätigen, dass das Problem ein Problem war, bei dem unser Backend nicht richtig für IPv6 konfiguriert wurde. Anscheinend unterstützt AWS weder IPv6 noch nur IPv6-DNS über Route53. Am Ende habe ich das gesamte Internet mit Blick auf Teile des Backends vorerst von AWS entfernt.

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


2
Können Sie mir sagen, ob die Ursache für die Ablehnung des App Store darin bestand, dass Ihre Server keinen IPv6-Verkehr unterstützen? Ich habe jetzt 3 Ablehnungen hintereinander von Apple, aber mein Code hat sich gegenüber früheren Versionen nicht geändert. Ich verwende Xamarin iOS und habe das Konnektivitäts-Plugin ebenfalls auf die neueste Version aktualisiert, da Probleme mit IPv6 aufgetreten sind. Ich werde verzweifelt! Ich kann den Absturz hier auf meinen iOS-Geräten nicht replizieren (selbst in einem NAT64 IPV6-Netzwerk über meine Mac-Internetfreigabe).
Jon

Diese Ablehnung wird auf Ihrem Server verursacht. Ihr Server unterstützt IPv6 nicht. Mangist
Pablo Ruan

Hallo @ Sean Thielan, ich habe unseren Server mit ready.chair6.net getestet und es schlägt für die IPV6-Netzwerkkonnektivität fehl. Die App funktionierte jedoch einwandfrei mit demselben Server, den wir durch Erstellen eines NAT64-Netzwerks (für IPV6-Netzwerk) auf unserem Server getestet haben iPhone 5S-Gerät mit 10.0.2 OS-Version. Können Sie folgende Hinweise geben? Müssen wir die App erneut an den App Store senden oder den technischen Support von Apple kontaktieren? Oder müssen wir unseren Server so konfigurieren, dass er das IPV6-Netzwerk unterstützt?
Venkatesh

Hallo @Venkatesh, haben Sie eine Lösung für dieses Problem gefunden, weil ich mit der Ablehnung von Apple im selben Fall nicht weiterkomme?
Mohamed Fadl Allah

Hallo Sean. Ich habe meine APIs getestet. Diese drei Tests schlagen fehl. DNS (IPv6 NS) DNS (MX-Eintrag) DNS (Kleber). Ergebnis für diese drei sind WARN. Ist das ein Problem, dass Apple meine App ablehnt? Es ist notwendig, Domain alle Tests zu bestehen .. auf ready.chair6.net ?????
JAck

11

Bitte beachten Sie, dass die Unterstützung von IPv6-Netzwerken und IPv6- und App Review- Links sehr hilfreich sein kann, um festzustellen, wo das Problem mit Apple-Ablehnungen liegt. In diesem speziellen Fall wird in den Artikeln klar angegeben, dass Sie das DNS64 / NAT64-Testnetzwerk einrichten können, aber dass "Dieses Testnetzwerk nicht genau das gleiche ist wie das von App Review verwendete Netzwerk". Deshalb kann alles in der Testumgebung funktionieren und funktioniert immer noch Die App wurde abgelehnt.

Außerdem:

Das App Review-Netzwerk unterstützt wie die von Dienstanbietern bereitgestellten Netzwerke die IPv6-zu-IPv6-Konnektivität. Wenn Ihr Server IPv6 unterstützt, kommuniziert Ihre App direkt mit ihm, ohne den NAT64-Übersetzer zu durchlaufen. Dies ist im Allgemeinen eine gute Sache, kann Sie jedoch stören, wenn Ihr Server behauptet, IPv6 zu unterstützen, die IPv6-Unterstützung jedoch unterbrochen ist. Beispiel: Wenn der DNS-Name falsch ist, ist der DNS korrekt, aber der Server überwacht IPv6 nicht. Der Server überwacht IPv6, schlägt jedoch fehl, wenn eine Anforderung über IPv6 eingeht

Wenn Ihr Backend-Server IPv6 unterstützt, wird es vom Apple-Testnetzwerk verwendet, und in diesem Fall ist dies falsch.

Ich füge dies als Referenz und Ausgangspunkt für andere Benutzer hinzu, bei denen das gleiche Problem auftritt


10

Wir sind auf dasselbe Problem gestoßen, und es stellte sich heraus, dass wir einen AAAA-Eintrag für IPv6 eingerichtet hatten, da wir keine IPv6-Unterstützung hatten (wir verwenden auch Route53). Es hat alles kaputt gemacht. Durch Entfernen des AAAA-Datensatzes wurde das Problem behoben.

Ich habe ein Radar über die Diskrepanz zwischen der Dokumentation zum Testen und dem Setup, das App Review verwendet, eingereicht. Wir konnten es nur diagnostizieren, weil unser CTO bei WWDC war und eine Verbindung zu seinem Netzwerk herstellen konnte, was nicht gerade eine Situation ist wir können uns regelmäßig reproduzieren.


Interessant. Ich hatte Route53 auf die gleiche Weise konfiguriert, wobei der AAAA-Datensatz auf eine ELB ausgerichtet war. Vielleicht werde ich es in der nächsten Nebenversion auf AWS erneut versuchen, aber ohne den AAAA-Datensatz. Der Ergebnisbereich Ihres Radars spiegelt genau meine eigenen Erfahrungen wider. Irgendwann habe ich einen Router, ein MacBook und ein iPhone auf die Werkseinstellungen zurückgesetzt, um sicherzustellen, dass es sich nicht um ein absurdes Caching-Problem handelt. Ich würde weiter nachforschen, aber ich bin nur froh, dass das Update durchgeführt wurde und ich hoffe, nie wieder darüber nachzudenken.
Sean Thielen

Haben Sie eine Antwort von Apple auf Ihr Radar erhalten?
Kaiserludi

1
@Kaiserludi nicht offiziell, obwohl ich gesehen habe, dass er in den Entwicklerforen, wenn Sie nach Posts von Quinn The Eskimo suchen, diese mit viel mehr Informationen aktualisiert hat, um Ihnen beim Debuggen zu helfen. Dieser scheint besonders hilfreich zu sein: forums.developer.apple.com/message/147579#147579
DesignatedNerd

Vielen Dank. Dieser Link ist in der Tat sehr informativ.
Kaiserludi

6

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

Ich habe ohne Probleme einen Test für IPv6 DNS64 / NAT64 durchgeführt, und wir beschließen, gegen diese Ablehnung Berufung einzulegen.

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

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


5

Wir haben das gleiche Problem festgestellt. App Unsere App wurde aus IPv6-Gründen mehrere Male abgelehnt. Wir haben jedoch Tests im IPv6-Netzwerk durchgeführt, das als offizielles Dokument von APPLE konfiguriert wurde: https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/Underfort/Pre_ uid / TP40010220-CH213-SW1


6
Haben Sie eine Lösung dafür gefunden? Ich kann meine App-Bewertung nicht von Apple akzeptieren lassen und habe keine Ideen mehr
Jon

5

Unsere App wird beim ersten Mal abgelehnt. Wir richten die lokale Testumgebung basierend auf dem Apple-Dokument ein und stellen fest, dass unsere Curl-Bibliothek zu alt ist, ohne standardmäßig IPv6 zu aktivieren. Also bauen wir die neueste Curl Lib und es funktioniert. Aber es wird aus demselben Grund erneut abgelehnt. Ich überprüfe viele Informationen, finde jemanden, der die gleichen Erfahrungen gemacht hat, beschwere mich einfach beim Apple-Prüfer, dass Ihre App in Testumgebungen gut funktioniert, und bitte ihn, einen Techniker zur Verfügung zu stellen, der hilft, wenn er darauf besteht, dass ein Fehler vorliegt. Das Apple-Bewertungsteam hat unsere App am Wochenende genehmigt, als es unsere Beschwerden sah.

Wie ich weiß, gibt es 2 Probleme, die Sie überprüfen müssen. Haben Sie eine feste IP-Adresse in Ihrer App? Richten Sie Ihren AAAA-Eintrag für Ihre Serverdomäne so ein, dass er IPv6 unterstützt, Ihr Server jedoch IPv6 nicht hört. Wenn ja, entfernen Sie einfach diesen AAAA-Eintrag in Ihren Domain-Einstellungen von Ihrer Domain-Provider-Site.



2

Dies ist das zweite Mal, dass ich nach 6 Monaten auf dieses Problem gestoßen bin. Zuvor war es in Objective-C-Projekt mit AFNetworking und ich habe diese Lösung verwendet und es hat auf einmal funktioniert. Nun geschah dasselbe mit Alamofire. Leute, diese Lösung hat 2 Mal für mich funktioniert und ich habe festgestellt, dass diese Frage zuerst in Google kommt, also poste ich die Antwort.

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

Ich habe diese Antwort aus der folgenden 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 letzten Projekt haben wir diese Lösung angewendet, aber Apple hat den Antrag immer noch abgelehnt. Dann haben wir ein Video gemacht, das zeigt, dass die App mit einer Verbindung zu einem NAT64-Netzwerk, das auf einem Mac über die WLAN-Freigabeoption erstellt wurde, einwandfrei funktioniert. Wir haben um Überprüfung des Videos gebeten und sie haben den Antrag genehmigt. Wenn Sie mit all Ihren Optionen fertig sind, probieren Sie auch diese aus.



1

Ich habe den Test IPv6 DNS64/NAT64ohne Probleme durchgeführt, wie in der Apple-Dokumentation vorgeschrieben

Wir können das Problem jedoch nicht reproduzieren (Absturz). Wir haben die App erfolgreich auf unseren Geräten ohne Abstürze installiert.

  • Wir haben ein Video dieses gesamten Testprozesses aufgenommen (einschließlich Konnektivität, Herunterladen von Testflight, NAT64-Netzwerkverbindung, App-Betrieb).
  • und Antrag auf Ablehnung mit der Videodatei

Schließlich hat der App Store meine App genehmigt


1
Stellen Sie sicher, dass Ihre App keine fest codierte IP-Adresse in der App enthält, einschließlich Plugins
Phani Sai

0

Bei der Verwendung des Facebook SDK stieß ich auf dieselbe App-Ablehnung. Wenn Sie das Facebook SDK für die Anmeldung verwenden, ist es unglaublich wichtig, den Benutzer beim Beenden einer Sitzung abzumelden. Andernfalls werden Sie in Zukunft mit ähnlichen App-Ablehnungen konfrontiert sein. Ich habe den folgenden Code eingefügt, um denjenigen zu helfen, bei denen möglicherweise ähnliche Probleme auftreten.

let loginManager = FBSDKLoginManager()
loginManager.logOut()

0

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

  1. Richten Sie ipv6 mit Ihrem macOS ein
  2. Videoband, mit dem Sie mit dem freigegebenen IPv6-Netzwerk verbunden sind, und Nachweis, dass Ihre App in dieser Umgebung funktioniert.

Ich habe die Videoroute ausprobiert. Es zeigte ihnen, wie ich meinen Mac als IPV6-WLAN einrichtete, mein Telefon daran anschloss und meine App problemlos ausführte. Ich habe gerade eine weitere Ablehnung von ihnen erhalten, die besagt: "Vielen Dank für Ihre Antwort. Bei unserer Überprüfung haben wir festgestellt, dass Ihre App auch auf mehreren Geräten auf einem weißen Bildschirm angezeigt wird." Anschließend folgen Ratschläge zum Testen mit IPV6-Netzwerken. Dies sind die gleichen Schritte, die ich ihnen in meinem Video gezeigt habe. Insgesamt sah die Antwort so aus, als wäre sie automatisiert. Wie gehe ich mit einer realen Person aus dem Apple Review Team um?
ChillyPenguin

Vielleicht devprograms@apple.com.
Steve Ham

0

Meine App wird zweimal im App Store abgelehnt. Sie geben einen Fehler bei der Twitter-Anmeldung auf dem iPhone mit OS 11.4. Das Hauptproblem haben wir aufgrund der Rückruf-URL von Twitter, die nicht auf dem Entwicklerkonto von Twitter festgelegt ist. wenn ich die Rückruf-URL auf dem Entwicklerkonto von Twitter einstelle. Es löst mein Problem. Wenn wir auf dem Entwicklerkonto von Twitter keine Rückruf-URL festlegen, ist die Twitter-Anmeldung zu diesem Zeitpunkt erfolgreich, wenn das Gerät über eine Twitter-App verfügt. aber im Falle des Fehlens einer Twitter-App auf dem Gerät gibt es einen verbotenen Fehler 403.

Das Einstellen der Rückruf-URL überwindet mein Problem und die App wird akzeptiert.

Danke dir

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.