【问题标题】:How does whatsapp determine country of the user without asking for location details?whatsapp 如何在不询问位置详细信息的情况下确定用户所在的国家/地区?
【发布时间】:2014-08-19 03:11:19
【问题描述】:

注册 WhatsApp 时,您需要输入您的电话号码。 WhatsApp 已经(不知何故)知道您所在的国家/地区并为您预先选择了该国家/地区,因此您只需确认即可。

为了记录,whatsapp 确实请求访问您的位置的权限,但他们仍然知道(模糊,也许)。这是怎么回事?

【问题讨论】:

  • 他们可能会使用 IP 地址位置数据库服务,例如 iplocation.net

标签: ios objective-c geolocation core-location


【解决方案1】:

我最终还是这样的:

[[[NSLocale currentLocale] objectForKey:NSLocaleCountryCode] uppercaseString];

结合在网络上找到的字典。我已经开源了代码,所以你所要做的就是调用这两种方法中的一种,然后你就设置好了:)

https://github.com/basdvries/BDVCountryNameAndCode

【讨论】:

    【解决方案2】:

    类似

    NSString *locale = [[NSLocale currentLocale] localeIdentifier];
    

    这适用于在自己国家/地区的绝大多数人,并且没有将他们的语言环境设置为随机的其他国家/地区。

    【讨论】:

    • 不,我不这么认为。我发现了其他有趣的东西,但我无法测试它,因为我没有正式注册为 Apple 开发人员,但我在其他地方找到了这个解决方案:` CTTelephonyNetworkInfo *info = [CTTelephonyNetworkInfo new]; CTCarrier *carrier = info.subscriberCellularProvider; NSLog(@"国家代码为:%@",carrier.mobileCountryCode); `
    猜你喜欢
    • 2013-07-09
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    相关资源
    最近更新 更多