V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
goodbest
V2EX  ›  Apple

讨论苹果识别设备区域的各种方法

  •  
  •   goodbest · 2017-08-04 08:47:04 +08:00 · 6647 次点击
    这是一个创建于 2697 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本帖仅技术讨论,请勿引申。

    0. 根据系统设置的语言、日期格式、时区判断

    举例:某些 APP 里有这种判断,通常可以通过更改系统语言绕过。

    1. 根据设备型号中的区域代码判断

    在“关于本机”的型号中,可以看到“ MF383CH/A ”、“ MF383LL/A ”等字样,其中的“ CH ”、“ LL ”即为设备原始销售的地区码。

    可能的情况举例:日版相机强制快门声音、iOS7 (或 8 )时期的国行 9 宫格中文输入法、国行 FaceTime Audio 等

    2. 根据登录 AppStore 的帐号地区判断

    都知道,不说了。

    特别需要注意的是,由于一台设备上登录 AppStore 的帐号可以和登录 iCloud 的帐号不同,所以地区也可以不同。

    3.根据登录 iCloud 的帐号地区判断

    对于 iCloud 帐号来说,苹果能够知道的用户信息比较多,比如地理定位信息(为了 Find My iPhone )、手机号码(两步验证)、ApplePay 信息、连接苹果服务器的本机 IP 地址等等。

    苹果在提供 iCloud 服务时如何进行地区判断,至今对用户来说仍然未知,是个黑盒子。 可以通过调试工具分析连接 *.apple.com *.icloud.com *.icloud-content.com 等域名的信息综合判断

    4. 根据插入设备的 SIM 卡的运营商号( MCC、MNC )进行判断

    对于 3 大运营商来说,sim 卡的 ICCID 前三位都是 460,因此可以据此来判断用户地区。全球不同地区运营商代码可见 http://mcc-mnc.com/

    可能的情况举例:是否在设备上显示“ Apple News ”应用图标(当然还结合了方式 1 )

    5. 根据设备 IMEI 码、设备型号综合判断

    在设备首次或刷机后激活时,需要插入 sim 卡进行网络基带解锁。此时可能会根据上述信息以及其他相关信息来拿到不同的激活策略和网络锁。

    可能的情况举例:国行 5s 的 A1528、A1533 在默认情况下不能连接 4g 网络

    总结

    在实际使用中,苹果可以自由选择一个或者多个方式来确认地区。更重要的是,苹果可以随着系统、服务器后台和 APP 升级而不断采取新的策略。

    请大家继续补充。

    14 条回复    2018-07-28 15:50:36 +08:00
    porrat
        1
    porrat  
       2017-08-04 09:21:19 +08:00 via iPhone
    不用怀疑了,是用 SIM 卡识别的
    zcdll
        2
    zcdll  
       2017-08-04 09:39:29 +08:00
    @porrat 但我记得我在美国,装美国手机卡,没有切换 AppleID 的时候,也没有 News 这些应用啊?
    shily
        3
    shily  
       2017-08-04 09:42:04 +08:00 via Android
    @zcdll Apple News 设备语言就可以了,好像。
    wclebb
        4
    wclebb  
       2017-08-04 09:42:16 +08:00
    @zcdll #2 你没有把区域改为美国?
    把区域改为除了中国等几个国家之外都会短暂显示的。
    Cavolo
        5
    Cavolo  
       2017-08-04 10:29:25 +08:00
    @wclebb 开飞行加美国 vpn 就能用 news 了,所以应该是 sim 卡和网络双检测
    zcdll
        6
    zcdll  
       2017-08-04 11:47:54 +08:00
    具体细节记不清楚了,但是我记得我换了卡之后,什么设置都没有改。第二天因为要下载 Google Music 才切换到美区 AppleID 的。
    语言一直是中文。
    或者说,可能是这样。AppleID 一直是国内的,iTunes ID 切换成了美区的。
    @shily @wclebb
    axis315
        7
    axis315  
       2017-08-04 16:26:18 +08:00 via iPhone
    硬件
    panbofeng
        8
    panbofeng  
       2017-08-06 00:04:00 +08:00 via iPad
    iCloud 网页版有区域设置啊,有没有用就不知道了
    xiaoc19
        9
    xiaoc19  
       2017-08-07 09:59:32 +08:00 via iPhone
    如果一个 app 要屏蔽掉中国大陆地区用户使用,
    有些使用访问 Google 的方法,
    如果无法访问就判断为是大陆人,
    但是这个方法会浪费时间

    如果是使用运营商判断,
    有个疑问,
    如果有个大陆用户出国旅行,比如日本,
    手机会切换成当地运营商信号,
    那这个时候返回的结果是 sim 卡指定的,还是当前运营商信息,
    如果是不能插 sim 卡的 iPad,是不是依然得依靠其他辅助手段

    大家平时都是怎么做判断的?
    goodbest
        10
    goodbest  
    OP
       2017-08-07 11:41:19 +08:00
    @xiaoc19 你可以看一下 Line 这个程序
    ruanmeibi
        11
    ruanmeibi  
       2017-08-07 17:46:30 +08:00
    『 Google Maps 』 在推特上问客服直接无视了 看来这个市场它根本就不在意
    目前巨讨厌 SIM 卡检测
    i4640
        12
    i4640  
       2017-08-07 17:58:47 +08:00 via iPhone
    定位不就可以直接識別?且非常準確。
    i4640
        13
    i4640  
       2017-08-07 18:00:44 +08:00 via iPhone
    @xiaoc19 仍然是 SIM 卡歸屬地區的,如果漫遊上網,IP 地址也是歸屬地的。
    yyy134341
        14
    yyy134341  
       2018-07-28 15:50:36 +08:00
    试问如何解决 iOS 的 SIM 卡检测问题?现在越来越多的软件开始使用 SIM 卡检测了。如 Line、Apple Map、Google Map、Google Now、Apple News、Tik Tok ……有没有可以类似于伪造运营商的方法来解决这类问题……?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1142 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:42 · PVG 07:42 · LAX 15:42 · JFK 18:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.