2017-05-05 6 views
0

My App von App Store wegen IPV6 Probleme abgelehnt bekommen. Hier die Informationen, die von App StoreApp Get By App Store abgelehnt, weil von IPV6 Probleme

  1. 1 Leistung: App Vollständigkeits Richtlinie 2.1 - Leistungs

Ihre App auf dem iPad mit iOS abgestürzt 10.3.1 zu einem verbunden IPv6 Netzwerk, wenn wir:

die angegebenen Anmeldeinformationen eingegeben. Die App geladen für eine Sekunde und dann abgestürzt. Beim Neustart der App scheint es so, als wären wir "eingeloggt" , aber die App lädt sich für einen Moment und stürzt erneut ab.

Dies passierte, wenn die App verwendet:

  • auf Wi-Fi

Wir haben detaillierte Absturzprotokolle angebracht, um dieses Problem zu beheben.

Nächste Schritte

dieses Problem zu beheben, geben Sie bitte Ihre App überarbeiten und testen Sie es auf einem Gerät während der Verbindung mit einem IPv6-Netzwerk (alle Anwendungen müssen IPv6 unterstützen) zu sicherzustellen, dass es wie erwartet läuft.

Ressourcen

Informationen darüber, wie ein Crash-Protokoll symbolicate und zu lesen, bitte Bewertung TN2151 Legendes Technischer Hinweis und Anwendungs ​​Absturz Reports analysieren.

Weitere Informationen zur Unterstützung von IPv6-Netzwerken finden Sie unter Unterstützung von IPv6-DNS64/NAT64-Netzwerken und Informationen zum Netzwerk.

Helfen Sie mir, dieses Problem zu lösen.

Antwort

1

ich dieses Problem in iOS konfrontiert. Dann ändere ich meine Internetverbindung und nutze meine App.Wenn Sie möchten Ipv6-Netzwerk in Ihrem System machen, als Sie bitte auf

https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html 

Objective c

+ (instancetype)reachabilityForInternetConnection 
{ 
    struct sockaddr_in6 zeroAddress; 
    bzero(&zeroAddress, sizeof(zeroAddress)); 
    zeroAddress.sin6_len = sizeof(zeroAddress); 
    zeroAddress.sin6_family = AF_INET6; 
    return [self reachabilityWithAddress: (const struct sockaddr *) &zeroAddress]; 
} 

Swift 3

func ipv6Reachability() -> SCNetworkReachability? 
{ 
var zeroAddress = sockaddr_in6() 
zeroAddress.sin6_len = UInt8(MemoryLayout<sockaddr_in>.size) 
    zeroAddress.sin6_family = sa_family_t(AF_INET6) 

    return withUnsafePointer(to: &zeroAddress, { 
$0.withMemoryRebound(to: sockaddr.self, capacity: 1) { 
    SCNetworkReachabilityCreateWithAddress(nil, $0) 
} 
}) 
} 
+0

Welche ist am besten über swift3 Code oder Code unten angegeben: 'var zeroAddress = sockaddr_in (sin_len: 0, sin_family: 0 , sin_port: 0, sin_addr: in_addr (s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0)) zeroAddress.sin_len = UInt8 (sizeofValue (zeroAddress)) zeroAddress.sin_family = sa_family_t (AF_INET) ' –

+1

Ihr Code ist auf ipv4 und über meinem Code für ipv6 –

+0

Aber Ihr Code unterstützt sowohl für IPV4 und IPV6? –

0

Ja. Auch ich habe mich diesem Thema schon oft gestellt. Apple unterstützt jetzt nur Apps, die mit IPv6 kompatibel sind.

Zuerst testete ich meine Bewerbung nach ihrer Beschreibung. Ich habe IPv6 getestet, aber ich habe keinen Fehler bekommen, wie sie sagten. Führen Sie also nach der Verbindung mit IPv6 zuerst das Debugging durch. Wenn Sie das Gefühl haben, es funktioniert gut, dann tun Sie das.

fand ich die IPVersion meines Netzes durch verschiedene Websites aus. Ich machte Screenshots von dem Netzwerk, mit dem ich mich auf dem Handy verband und schickte diese Screenshots zur Überprüfung an Apple (es ist ein Beweis für die Verbindung zu IPv6).

Hier unten sind die paar Seiten, die Sie bei der Suche helfen, welche Version Sie verwenden.

Google IPv6 test

Jetzt ist es

akzeptiert
0

Problem ist ich einige Code überprüft, ob App verbunden Internet oder nicht. Dieser Code unterstützt nur IPV4 nicht für IPV6. also aktualisiere ich diesen Code auf die Unterstützung von IPV6. Hier ist der Code:

Old Code:

var zeroAddress = sockaddr_in() 
zeroAddress.sin_len = UInt8(MemoryLayout.size(ofValue: zeroAddress)) 
zeroAddress.sin_family = sa_family_t(AF_INET) 

New Code:

var zeroAddress = sockaddr_in6() 
zeroAddress.sin6_len = UInt8(MemoryLayout.size(ofValue: zeroAddress)) 
zeroAddress.sin6_family = sa_family_t(AF_INET6) 
Verwandte Themen