
手机坏了,到 Apple Store 的 Genius Bar 维修,顺便问 Genius 为什么手机每次启动微信之后发热特别严重,Genius 给我看了 App Store 上微信描述中的一句不起眼但细读后毛骨悚然但话: "This app may use your location even when it isn't open, which can decrease device battery life."
p>这句话可以在 App Store 中搜索微信( WeChat ),打开页面后在 Information 选项中点开 Location 字段后看到。Genius 非常肯定地说,除非放弃所有的定位功能,从 Privacy 中彻底关掉定位功能,不然微信依然可以获取到你的详细位置。
本人没有做过 iOS 开发,不是很清楚是否真的存在这种骚操作。如果存在,那么为什么微信还要申请定位权限来获取用户位置,给用户提供相应的服务? iOS 的 Location 权限存在的意义又何在?如果不存在,那这段话中的"This app may use your location even when it isn't open“又是怎么实现的?按照我的理解,”When it isn't open“,应该是开机后从来没有打开过这个 APP 、开机后打开过这个 APP 后从多任务里划掉这个 APP 或划掉这个 APP 后重新启动手机,那也就是说面对微信,iOS 允许其完全运行在后台?
如果真的可以在不启动的情况下也获取到位置信息,是不是也可以获取到麦克风、摄像头、通讯录、照片等其他信息呢?
1 paradoxs 2020 年 12 月 10 日 你怎么知道微信获取了你的详细定位信息? 操作如何复现? 请给出步骤。 |
2 tin3w5 OP @paradoxs Genius Bar 的 Genius 是经过 Apple 官方培训的,必然会对 App Store 上的内容的隐喻有更深入的了解。要不你帮忙介绍一下 Location 选项里的那段话? |
3 tzm41 2020 年 12 月 10 日 via iPhone 那你关了微信定位权限不就好了吗 |
5 Leonard 2020 年 12 月 10 日 "This app may use your location even when it isn't open, which can decrease device battery life."这句话好像和你的“IOS 即使关闭了微信的定位权限,仍然可以获取到位置信息”这句话没有任何关系 |
7 Marasati 2020 年 12 月 10 日 via iPhone 垃圾微信现在还不得不用,咳。有苦难言。 |
8 tzm41 2020 年 12 月 10 日 via iPhone @tin3w5 天才吧又名蠢材吧,他不知道你的手机为啥发热,随便跟你说个原因而已。干了三年半 iOS 开发的我知道,关了 app 定位权限后这个 app 是没任何办法获取定位的。 |
9 Leonard 2020 年 12 月 10 日 另外不要迷信 Genius 的话,现在 Genius 的培训时间缩减到不到前几年的 1/10,很多 Genius 连起码的东西都搞不清楚的 |
10 xiaket 2020 年 12 月 10 日 这个"Genius"和你都理解错了, 英文说的是没打开微信 app 的时候这个 app 可以使用位置信息, 这个是你在 app 这个层级给的位置使用权限. 不是关闭了微信的定位权限仍可以获取到位置信息. 至于微信定位的目的, 在 app 设置里面有, 为了摇一摇和附近的人功能. |
12 teek 2020 年 12 月 10 日 我微信定位关了,有一天开一个小程序没有定位会卡在定位那。app 定位开关应该是有用的。我觉得 Genius 官方培训应该没有这么细,有可能是员工个人的理解。如果真是如他所说,影响 find my iPhone 功能了。 |
13 ryh 2020 年 12 月 10 日 只有在 "总是允许(always Allow)" 权限下,它才有权限 |
15 wysnylc 2020 年 12 月 10 日 ip 定位 |
16 tin3w5 OP |
17 littlewing 2020 年 12 月 10 日 via iPhone 蠢材吧的人不懂英语难道你也不懂吗? |
18 tin3w5 OP |
20 Tumblr 2020 年 12 月 10 日 你可能。。。没有正确理解这句话的意思。这句话是说「即使你没打开微信,它也可能会调用位置信息」。对于你的定位服务,用的词一般是 enable/disable 、turn on/off,不是 open/close 。。。 所以,这不是个隐私问题,而个语言问题。。。 |
21 deplives 2020 年 12 月 10 日 你这是英语没学好,人家的意思明明是,即使你没有打开这个应用(微信),它(微信)依然可以使用你的位置信息,这会导致你的电池寿命降低。 这个 open 说的是 app 不是定位权限的开关,麻烦好好学学英语吧。 |
22 cossak1991 2020 年 12 月 10 日 @xiaket 发朋友圈定位也需要 |
23 tin3w5 OP |
25 Bananana 2020 年 12 月 10 日 via iPhone 这些天才也太搞笑了吧……… |
28 484A4B 2020 年 12 月 10 日 1. App Store 的那句话不是那个意思 2. 微信能不能在关闭定位的情况下,获得你的位置信息? 有可能可以,但不一定精确,包括但不限于以下方式 - 通过基站定位 - 通过蓝牙定位 - 通过 WiFi 定位 - 通过读取照片 exif 信息定位 - 通过第三方 SDK 共享位置信息 - 结合历史轨迹分析预测 |
29 Leonard 2020 年 12 月 10 日 如楼上所说,这是个语言问题。 涉及定位的好像大多 app 都有这个说明,去 App Store 看了下高德地图,美团,Uber,qq 等都有这个提示,如果按这个 Genius 说的,那 iOS 岂不是群魔乱舞了 |
30 ddefewfewf 2020 年 12 月 10 日 @tin3w5 可能这个数据给上面的大哥 毕竟要监控每一个人 苹果不给这个 API 就不让你在中国销售 |
31 CSE 2020 年 12 月 10 日 楼主既然到了这个论坛来,想必至少也是做了一点程序开发相关工作的,怎么这么容易被蠢材吧的人忽悠。 苹果的那句话意思是,微信有这个选项一旦你开启定位服务,即使关闭微信,也可以获取定位信息。 蠢材吧的人找不到原因,就把这个问题归咎于微信实在是搞笑。如果你在后台将微信的定位关闭,微信是不可能可以获取到定位的。建议不要盲目相信蠢材吧的人,他们比开发者差的不是一星半点。 |
32 LaGeNanRen 2020 年 12 月 10 日 原文的 it 代词指的是“this app”,而不是指“定位权限” :D |
33 natashahollyz 2020 年 12 月 10 日 This app may use your location even when it isn't open=即使关闭了微信的定位权限,仍然可以获取到位置信息 我英语不太好,看不懂你是怎么得出这个结论的 |
34 duxiansen 2020 年 12 月 10 日 天才吧大部分人的水平都非常一般 |
35 leisure 2020 年 12 月 10 日 说到定位,其实有了网络访问,一般情况下根据你的 ip 也能拿到一个比较模糊的定位的呀 |
36 wr516516 2020 年 12 月 10 日 |
37 Vegetable 2020 年 12 月 10 日 这里的 it 说的是微信,微信没有 open 也可能用你的定位服务的意思,可能会造成电池寿命下降。 谷歌翻译 此应用即使未打开也可能会使用您的位置,这可能会缩短设备的电池寿命 没权限当然用不了了,根本不是一回事儿。 |
38 zhuangku556 2020 年 12 月 10 日 IP 和基站就够模糊定位了,根本不需要 GPS,大数据下人人都是裸泳 |
40 54xavier 2020 年 12 月 10 日 基站定位已经能做到比较高精度了 |
41 si 2020 年 12 月 10 日 emm,我搜索了一下这句话,发现了一个可能令楼主更毛骨悚然的信息,只要用了定位权限的 APP 都在 Location 里有这句话。 我看到 stackoverflow 上有一个开发者说苹果让他在 APP 的 location 里加上这句话,说明可能苹果联合其他 APP 开发者窃取楼主的位置信息,请快扔掉手中的 iPhone,防止泄露隐私。 |
42 tiktokxxxx2020 2020 年 12 月 10 日 嗯,我觉得楼主可以重修一下英文之类的... |
44 philipjf 2020 年 12 月 10 日 via iPhone 28 楼说得比较全了,基本上国内大厂 APP 这一套都是标配。 当然前台只会根据常规权限显示 |
45 dcty 2020 年 12 月 10 日 定位权限里面有一个“始终允许“, |
46 0TSH60F7J2rVkg8t 2020 年 12 月 10 日 @natashahollyz 这句英文“This app may use your location even when it isn't open”从句部分的 when it isn't open 里的 it 是只主语 The app 。也就是说,正确的翻译应该是:即使你没有打开这个 App,它依然可能使用你的位置信息。潜台词是,可以在后台持续进行定位(如果打开了定位权限的话)。 但是话分两头,有一段时间我发现过,微信确实可以在关闭定位权限的情况下得知你的位置。那段时间,我使用微信的时候,会发现状态栏定位图标亮了,从后台退掉微信后,定位图标消失。重复多次,在不同时间段,都能重现。而且我是关闭了微信的定位的。在系统设置里,查看定位最近使用,会发现,使用者是“天气”这个 app,于是我禁止天气 app 访问位置信息后,再次打开微信,不会出现定位图标了。这个事情持续了很长一段时间,大于几个月,期间应该有升级过微信和 iOS 版本,后来我再重新打开天气的定位权限后,这个现象不能复现了。 再 PS 一下,微信可以通过局域网、蓝牙,与你身边使用微信的人通讯,也可以通过身边的打开了定位权限的微信用户处搜集到的周边 wifi ssid 的信息,结合起来给你定位。 结论确实是,如果你关闭微信(或者其它用这些奇技淫巧来定位的 App 的相关权限),它们还是有办法得到你的位置信息的。 至于楼主说的耗电问题,发热严重,有很多可能,但应该不是微信在后台持续使用定位而造成的。 |
47 tin3w5 OP @484A4B 其实我也想到了 SDK,由于没有做过移动端开发,不是很清楚,是否存在这样的一种可能,其他的 app 调用了微信的 SDK 的同时,也会把用户的定位等数据上报给微信? |
48 thkDunalWa 2020 年 12 月 10 日 就是你如果设置了始终允许,微信在后台的时候也可以用你的定位,如果设置了使用期间,只有在前台的时候才能获取定位信息,如果设置了不允许,那微信是拿不到你的位置信息的。 翻译过来,就是微信可以在不打开的情况下使用您的位置信息,而不是关闭了定位权限,还能使用您的位置信息 |
49 clrss 2020 年 12 月 10 日 Genius 要是水平这么高早去当工程师了. |
50 tin3w5 OP @ahhui 谢谢,本地网络与蓝牙的权限肯定是拿到手机后第一时间关掉的,这个毋庸置疑,毕竟对我而言微信的存在价值仅限于通信与极少数特别极端条件下的线下支付。 你说的微信调用天气的情况我之前也遇到过,以至于我至今都没有给天气获取位置的权限。前文忘了说,这也是加大我对 Genius 的话的信服度的一个原因。 至于 wifi ssid,这个是我很不理解的事情,iOS 不应该傻到连 ESSID 这种信息都要暴露给一个 APP 吧?本人没做过 APP 开发,不是很了解。 不过说句题外话,我个人感觉,iOS 端微信耗电的这个事情真的很明显。之前的公司用 slack 进行内部通讯,skype 进行重大变更的信息同步、Zoom 视频会议,没发现哪个 APP 像微信耗电这样严重,手机电池寿命 98%,早上 8 点出门,晚上 7 点前到家,用着微信电量剩余 25%,彻底划掉,仅在公司虚拟机里跑能剩 50%左右,简直是丧心病狂。 |
51 tin3w5 OP @clrss 不是很了解,大学的学长学姐 11 年左右在 Genius Bar 工作,感觉水平还不错,对于 iOS 系统底层很了解,有一位后来还去做了逆向方面的工作。不过大学毕业之后就没联系了,所以误以为他们的水平都不错。 |
52 WebKit 2020 年 12 月 10 日 via Android 理论上也可以通过 qq 或者其他腾讯系的 app 获取你的定位。 |
53 gesse 2020 年 12 月 10 日 |
54 zwzmzd 2020 年 12 月 10 日 via iPhone it isnt open 理解有歧义,这里应该指微信在后台可以获取位置,不是指你关了权限它还能获取 |
55 KouShuiYu 2020 年 12 月 10 日 IP,wifi,卫星都能定位 |
56 denvi 2020 年 12 月 10 日 via iPhone 这件事得分开看 首先天才吧那人说的可能对,也可能错。因为发热、续航差不可能简单检测就能知道原因,没有苹果高权限的工程人员做详细的分析是不可能知道的。 其次是,微信确实是续航杀手。一个聊天社交软件在手机里吃掉那么大的资源是极其匪夷所思的。 最后,微信对你手机的定位信息极其极其极其痴迷,你能想到的常规手段一个不漏,你想不到的近乎黑客的手段,同样有不少。 |
57 iyu90 2020 年 12 月 10 日 Genius 只是解决了部分饭桶的就业问题,他们的话听个响就行了 |
58 Panic 2020 年 12 月 10 日 直接用中文语言看一下就可以了, lz 理解错了 |
59 KouYiGuo 2020 年 12 月 10 日 iOS App 有项后台模式配置叫"update locations" <key>UIBackgroundModes</key> <array> <string>location</string> </array> 顾名思义,App 处于后台也可存活,用于获取位置更新。典型可参考滴滴。 |
60 hideonwhere 2020 年 12 月 10 日 其他应用共享数据了? |
61 x86 2020 年 12 月 10 日 叫的好听叫 Genius Bar,叫的一般不就是售后 |
63 PinkStarrySky 2020 年 12 月 10 日 @daveh 兄弟太直接了吧. |
64 Tink PRO 太搞笑了,此 Open 非彼 Open |
65 icharon 2020 年 12 月 10 日 这段话的意思应该是就算你不打开应用也会访问定位,并不是说不给权限还能用定位,如果不给权限应该是用不了的,不然也没有必要询问权限了。 |
66 jeeyong 2020 年 12 月 10 日 有个事情是这样得... 首先, 很多广告商之间有个联盟, 他们共享很多用户信息. 举个简单得例子: 手机 A 打开了某 APP, 用户没有做隐私处理, 这很常见, 于是他的一部分信息被人采集了. 至少包含 wifi 信息和 GPS 地理信息. 好了 接下来,用户 B, 严防死守, 打开了某 APP, 但是你得 IP 和 A 是一样得. 就能粗略算出你的地理位置了. DSP 广告联盟会存储几乎所有 WiFi, IP, GPS 信息得及关联. 再基于以上及更多信息, 通过传统统计学方法也好, DP 也好, 再进一步挖掘对他们有用得信息. 所以广告主就看到了所谓得精准投放... |
67 u6pM63mMZ34z32cE 2020 年 12 月 10 日 > 可能这个数据给上面的大哥 毕竟要监控每一个人 苹果不给这个 API 就不让你在中国销售 @ddefewfewf 这也能阴谋论 牛逼啊 |
68 holdonhope 2020 年 12 月 10 日 ip 分析 |
69 0TSH60F7J2rVkg8t 2020 年 12 月 10 日 via iPhone @tin3w5 iOS 的 Wi-Fi ssid 是给的,没有权限控制。你可以试试支付宝找回密码,其中会要你认好友头像,还有最常使用的 Wi-Fi ssid 。 如果但从微信耗电讲,虽然我没直接证据,但我有个 android 备用机,亲戚出差到印尼用过,在当地注册的微信,回来后手机还给我,在我不打开 app 的情况下,每天微信都会新增 40-50m 的空间占用,而此刻他这个微信号也因为回国没有人发消息联系。所以从行为上判断,微信会在后台持续工作并写入数据(日志?)。当然因为和 iOS 不是一个系统,所以也不好判断 iOS 下微信是否有相同行为。 |
70 ByteRan 2020 年 12 月 10 日 1 、IOS 关闭了微信的定位权限,获取不到定位信息的,除非通过 IP 定位 2 、不加这句话的话,涉及到后台定位的 APP,苹果不会过审的 |
71 v7offJ3MsdbC1IhU 2020 年 12 月 10 日 此应用即使未打开也可能会使用您的位置,这可能会缩短设备的电池寿命。 我是 iOS 开发者,这句话有什么问题?说的没毛病啊,定位权限现在分两种:当使用 App 时;始终;两个选项。 还有一个特殊的选项:允许 App 后台刷新。 举个例子:我平时开车使用 平安好车主 App 来做任务获积分,即使不打开此 App,每天照样在统计我的驾驶里程。 就目前来看,设置里关闭某个 App 的定位权限,很抱歉,正向 iOS 开发当中目前没有办法绕过权限获取到定位,逆向 iOS 当中不清楚,不过应该是有可能的,hookApp,编写 tweak 插件可能可以实现,但这是另外一个领域了,和普通用户关系不大了。最后,苹果不可能让这种耍小聪明的 App 上线,不信可以试试,封你开发者账号没商量。 |
72 v7offJ3MsdbC1IhU 2020 年 12 月 10 日 @daveh 要不你来说说?我想学习学习。如果你要是和我说越狱 或者 hook,那就当你没说了。 |
73 tin3w5 OP @ahhu 谢谢,看来我以后家里的 ESSID 要改成 ChinaNet 了,哈哈! @jeeyong 我是不是可以这样理解,如果我通过某些 app block 掉了这些广告联盟的 URL,广告联盟就那我没办法了? @Aria2Hank 没办法,我也不想用,每次启动微信不超过 10mins,手机摄像头的位置的温度能感觉明显上升,但是又没办法。 @x86 @iyu90 @gesse 哈哈!本以为他们会和一些企业服务 vendor 的售后团队一样掌握一些普通用户不知晓的 confidential 的内容,毕竟术业有专攻嘛!结果是“以忽悠为主”。 @WebKit 嗯,这个我了解,目前 TX 家只保留了一个不得不用的微信。 |
74 ftu 2020 年 12 月 10 日 总想搞个大新闻 |
75 xy90321 2020 年 12 月 10 日 Genius 受过官方培训不假,但是 Genius 每句话都是源自官方这个说法就是张冠李戴了 Genius 的平均业务水平符合其工资定位,仅此而已 剩下的作为普通人该有的弱点(吹逼、自大、豁胖...)一个不少 |
76 jeeyong 2020 年 12 月 10 日 @tin3w5 应该这么理解, 无论你做什么, 都不重要, 因为其他人做了. 你当前 IP: 1.1.1.1 , 使用的是一个 wifi , 除此之外没有任何其他信息. 假设! 这情况基本不可能发生. 用户 A: GPS 信息: N50.00, S:50.00, IP: 1.1.1.1, SSID: xxxxxx, wifi 信号实际传播能力大体就 50M. GPS 信息显示这是一个商场内部, 仅此一项信息, 你猜, 不, 我猜你在哪? |
77 theolin 2020 年 12 月 11 日 所有要申请后台定位的 app,都会有这句话。 现在天才吧的水平真的不怎么样。不过也许是因为他们每天面对各种各样的人,有的时候,给一个简单的结论要容易太多了。 |
79 leshijiazu 2020 年 12 月 11 日 via iPhone 提供另外一种可能性: 楼主是不是曲解了 Genius 的意思? base on 你竟然可以这么理解这句英文? |
80 James369 2020 年 12 月 11 日 App 联盟,顾名思义,各 路 App 结成联盟,互相之间共享取到的手机权限信息,从而实现共赢的局面。 |
81 exonuclease 2020 年 12 月 11 日 via Android it isn't open 这句话的主语是 this app |
82 techsnow 2020 年 12 月 11 日 iOS 位置权限:始终、使用期间、拒绝。 |
83 techsnow 2020 年 12 月 11 日 如果允许始终:那就对应上那句英文描述了;如果只允许使用期间:那 app 只能在活动期间拿到位置信息。如果拒绝:不排除微信会使用 28 楼描述的获取位置方法。 |
84 RyanOne 2020 年 12 月 11 日 各位想象力不够丰富 , 忘记以前在哪看过一个技术贴,说的就是微信在 android 版的 技术 ,直接动到内核了,通过漏洞,跳过权限 ,鬼知道 这些大厂手握多少 zero-day vulnerability ,忘记 了伊朗震网时间吗 |
87 luzhh 2020 年 12 月 11 日 反正关了定位微信确实能知道你在哪,至少能知道你所在的省市,这个我是关了定位之后用了一段时间发现的。 |
88 hyq 2020 年 12 月 11 日 是不是微信缓存都几个 G 了,碰到过因为缓存太多,导致微信特别卡,耗电高的情况 |
89 zjuster 2020 年 12 月 11 日 我上周末在 Apple 店,“天才”当着我的面跟一个随机客户说,新出的 M1 芯片电脑不好,不要买,有风险。 我旁边听着一愣一愣的。我当时跟他沟通到一半,说 M1 的电脑体验真不错,我打算换一台 不仅不懂自己的产品,还不懂销售啊 |
90 zjuster 2020 年 12 月 11 日 @luzhh WiFi 链接可以定位的,定位不只有 GPS 一种手段。 比如 IP,比如上面的大哥说的,你给某一个应用开了之后,它私自把这个信息共享了其他的人。(肯定不合法的,但是我相信有些厂商做得出来) |
91 rootsir 2020 年 12 月 11 日 wifi MAC 定位了解一下 |
92 Cheat 2020 年 12 月 11 日 IP ?…… |
93 stevenhawking 2020 年 12 月 11 日 关联定位,同一个 IP 地址,腾讯系其他 APP,比方王者荣耀你授权了定位,微信可以共享王者荣耀的数据,来查询这个 IP 所在坐标的经纬度。 |
94 toxicant 2020 年 12 月 11 日 说到底还是天才吧在糊弄人,只要能把人糊弄走,就增加了一个今天的维修数量。 至于被糊弄走的人之后是不是真的解决了问题他们不管的,就算下次你再去那家店,也不会那么巧两次都是同一个人维修。 楼主就是被天才吧忽悠走了,才来这里找找答案,但是被群嘲了。 |
95 yinxianwei 2020 年 12 月 11 日 后台定位而已,只要是 App 需要后台定位一般都会加上这句描述,很多 App 也都有。 |
96 dingwen07 2020 年 12 月 11 日 via Android > This app may use your location even when it isn't open, which can decrease device battery life. 这句话的意思只是这个 app 可能会申请位置权限的”总是允许“。 这个 genius 也在胡扯,即使拒绝权限,微信也确实可以“获取”到你的位置,但是只是根据 IP 地址的粗略位置,这个你关掉定位服务也没用 |
97 ichanne 2020 年 12 月 11 日 学好英语很重要。。。 |
98 tonyaiken 2020 年 12 月 11 日 via iPhone 那个定位是控制 GPS Location 分享,微信还是可以基于 IP 地址得到你的大概定位。 |