扑动:iOS 上为空 locale.countryCode

Flutter: null locale.countryCode on iOS

这是我用于 Android 和 iOS

final List<Locale> systemLocales = WidgetsBinding.instance!.window.locales;
String countryCode = WidgetsBinding.instance!.window.locale.countryCode;

在 Android 上工作正常:

但是在 iOS 国家代码为空:

如果我们无法获取国家代码,iOS的解决方案:

Future<String> _getCountryCode() async {
    final link = Uri.parse('http://ip-api.com/json');
    final jsonEncoded = await http.read(link);
    final Map jsonDecoded = json.decode(jsonEncoded);

    return jsonDecoded['countryCode'];
  }