这个问题还是我来回答吧。既不是权限设置失效了,也不是之前的缓存。微信这里的联系人选取界面,只是调用了系统通讯录的接口,“由系统通讯录展示”了你的联系人信息,然后你手动选择了一个号码,此时“有且只有”这个号码会返回给APP。换个方式说:
1. 微信完全不知道你的通讯录的条目;
2. 这个选择界面是iOS系统展示的;
3. 这个设计的目的,是为了简化用户输入。在APP看来,你“选择联系人号码”的方式与你“手动输入一串号码”的方式没啥两样;
4. 既然读不到全部通讯录,所以不存在隐私泄漏的问题;但你选择了一个号码而不是手动输入,用户体验更好;
5. 即使你选完条目,微信也对该号码的其它资料一无所知,只是把“一串数字”输入到框里罢了。是不是突然对这种巧妙的设计感觉惊讶?(尽管android很久之前就实现这种调用了......)结。