acger
V2EX  ›  问与答

iOS 淘宝应用是怎么获取到联系人列表的?

  •  
  •   acger · Mar 20, 2015 via iPhone · 4540 views
    This topic created in 4253 days ago, the information mentioned may be changed or developed.
    今天用淘宝充值话费时点列表框右边的联系人图标发现居然能获取到联系人列表,而系统设置是关闭的,请问这是怎么获取到的?
    7 replies  •  2015-03-20 14:30:35 +08:00
    b821025551b
    b821025551b
    Mar 20, 2015
    1
    以前获取过,你可以新建个联系人看看它这回能不能读出来
    acger
    acger
    OP
    Mar 20, 2015
    2
    @b821025551b 试了一下,也是可以的,不知道是 iOS8 bug 还是淘宝的黑科技。
    lawder
    lawder
    Mar 20, 2015
    3
    @acger 我猜是用了HTML5的接口来获取的
    acger
    acger
    OP
    Mar 20, 2015
    4
    @lawder 那 iOS 权限不是形同虚设吗?
    v2Panda
    v2Panda
    Mar 20, 2015
    5
    访问了本地通讯录吧
    lucky2touch
    lucky2touch
    Mar 20, 2015 via iPhone
    6
    试了试客户端 感觉是调用的系统接口 应该不是直接获得通讯录的权限 是不是iOS8的新功能?
    vincentxue
    vincentxue
    Mar 20, 2015❤️6
    7
    它使用的是 `ABPeoplePickerNavigationController` 这个类显示的。

    你的设备肯定是iOS 8,这算是 iOS 8 的新特性,但是没有提及,只是在 Release Notes 里面 提了一嘴。

    之前如果没有访问权限,这个类不会显示任何联系人,并且提示你这个应用没有权限访问你通讯录。

    但是从 iOS 8 开始,这个类会显示所有的联系人,你应用是无法访问这些联系人的,因为你无法访问它的数据源,也就是你完全不知道它显示了什么,只有用户选择了哪个,你才能访问哪个。

    所以说这是安全的,应用无法获取你的通讯录信息并且这个类现在也不支持子类化。


    如果你是开发者,你可以去看看头文件或者看看下面的链接有提及。

    https://developer.apple.com/library/prerelease/ios/releasenotes/General/RN-iOSSDK-8.0/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2519 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 04:24 · PVG 12:24 · LAX 20:24 · JFK 23:24
    ♥ Do have faith in what you're doing.