komapeb / data_connection_checker

A pure Dart utility library that checks for an internet connection by opening a socket to a list of specified addresses, each with individual port and timeout. Defaults are provided for convenience.
https://spiritnavigator.com/
Other
108 stars 80 forks source link

Don't use it on production for iOS! #7

Open fpv999 opened 4 years ago

fpv999 commented 4 years ago

In current version it will never pass Apple AppStore app approval process, because it does not work in IPv6 network. I wasted few days because of it.

sudip92 commented 4 years ago

same issue for me thanks @fpv999

aghanti7 commented 4 years ago

@fpv999 Can you please elaborate on what reasons were mentioned in the Apple AppStore app approval process for rejection?

fpv999 commented 4 years ago

because Apple is testing apps in IPv6 network only, thus IPv4 IP addresses do not work.

aghanti7 commented 4 years ago

Gotcha ... thanks

acoutts commented 4 years ago

Is it enough to just have it ping some ipv6 DNS servers as well, or do we need to completely remove ipv4 to pass the app store?

The Google Public DNS IPv6 addresses are as follows:

2001:4860:4860::8888
2001:4860:4860::8844
Neillbar commented 3 years ago

it works in my production app in appstore, worked for the last 4 months never had a rejection from them on this. this is weird.

werediver commented 3 years ago

The issue can be resolved for all users of the library "by default" by updating the list of addresses with some IPv6 addresses (both Cloudflare and Google DNS support IPv6).

MrCsabaToth commented 3 years ago

https://github.com/komapeb/data_connection_checker/issues/13 has an example configuration for mixed IPv4 and IPv6 addresses