gpt4 book ai didi

ios - 确定 iOS 区域 "Europe"的国家代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:34:12 27 4
gpt4 key购买 nike

我正在开发一个应用程序,它要求用户提供电话号码并有一个国家选择器,用户应该在其中输入国家代码。

但是在测试空国家代码值时,我发现我的 iOS 10.2.1 iPhone 的区域格式设置为欧洲

搜索时,地区列表中不存在欧洲地区。

当我尝试获取当前语言环境国家代码时

NSLocale *currentLocale = [NSLocale currentLocale];
return [currentLocale objectForKey:NSLocaleCountryCode]

我得到 en_150,这对于确定用户所在的国家/地区没有用,至少在我的设备上是这样。返回的国家代码是150,这是不存在的。

我找到了使用 CTTelephonyNetworkInfo 查找国家代码的解决方法

if(![currentLocale objectForKey:NSLocaleCountryCode]) {
CTCarrier *carrier = [[CTTelephonyNetworkInfo new] subscriberCellularProvider];
NSString *countryCode = carrier.isoCountryCode;

return [countryCode capitalizedString];
}

但是它如何与这个欧洲语言环境一起工作,为什么我要这样设置?

最佳答案

首先,欧洲是一个大陆而不是一个国家。它没有国家代码。但是,它确实有区域代码。那个区号确实是150。

大陆有数字区号,而不是包括“世界”的 001 和“欧洲”的 150。

一定要看我的文章“Are there standard language codes for ‘World English’ and ‘European English’ ”以获得更详细的解释。这些代码基于 UN M.49,这是 ISO 3166 的基础,当您说“国家/地区代码”时,您可能会想到这个标准。

您面临的问题是您不能使用某人的语言或格式偏好来确定他们的实际位置。我当前设备的区域设置是 en_DK,但我的实际位置是 NO。许多设备默认使用 en_US,全世界的用户从不更改默认设置。

请使用 CoreLocation 自动确定用户的位置,或者只要求用户公开他们的位置。

关于ios - 确定 iOS 区域 "Europe"的国家代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41895967/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com