美文网首页
获取通讯录的人数不全

获取通讯录的人数不全

作者: ImmortalSummer | 来源:发表于2019-08-27 18:20 被阅读0次

问题描述: 客户端读取本地通讯录, 读取后填充到页面显示. 发现部分测试机总有几个手机号读取不到. 比如王小明的手机号读取不到.
误区: 开始一直以为是代码中某些逻辑过滤掉了 某些手机号码. 所以查了好久也没有查到问题, 而且如上所说, 如果是过滤掉的, 那应该在其他手机可以复现, 结果并没有复现.

问题原因: 代码使用了 CNContactStore 方法获取通讯录(ios9+), 代码中, 获取用户全名, 我使用了NSString *name = [CNContactFormatter stringFromContact:contact style:CNContactFormatterStyleFullName];方法, 而该方法有一个问题是, 当通讯录中存在一个用户名为空的记录时, 全名会变成nil, 使得遍历过程中断(但是不会使程序崩溃). 中断后, 未遍历到的用户便成了"丢失人口".

具体详见: https://www.jianshu.com/p/4657f54265d7

相关文章

  • 获取通讯录的人数不全

    问题描述: 客户端读取本地通讯录, 读取后填充到页面显示. 发现部分测试机总有几个手机号读取不到. 比如王小明的手...

  • IOS 获取手机通讯录

    //获取通讯录 -(void)GetUserAddressBook { //获取通讯录权限 ABAddressBo...

  • iOS获取通讯录信息

    获取通讯录的信息有两种 1.在不弹出通讯录控制器的情况下获取所有的通讯录信息 2.通过弹窗获取通讯录的某个用户信息...

  • 获取通讯库中外文首字排序(加强篇)

      上一篇用到的获取首字母并不全面,对于通讯录中的一些生僻的姓都是返回NULL的,体验极差。于是在composer...

  • 获取通讯录联系人信息(Swift)

    一.通讯录开发 1.获取用户手机通讯录中的联系人 2.通过获取通讯录信息,可以在应用中添加好友 二.如何获取用户的...

  • iOS9.0之前和之后获取通讯录的方法

    1. iOS 9.0之前获取通讯录的方法 打印结果: 2. iOS 9.0 及 iOS 9.0之后获取通讯录的方法...

  • 获取通讯录--AddressBookUI的使用

    一. 通讯录的简介 通讯录获取主要用于一些即时通讯App, 如微信, 可以获取你的手机通讯录, 查看哪些好友注册了...

  • 【iOS开发】UIlabel多行显示不全的问题

    今天遇到UIlabel获取高度之后多行显示不全的问题,特此记录一下。 这个方法获取显示不全 这两个方法获取size...

  • iOS通讯录开发

    前言 记录下在应用内获取通讯录的相关知识点,涉及到通讯录权限配置,通讯录数据的获取以及数据按首字母排序。 系统通讯...

  • iOS11.3 读取手机通讯录数据的问题

    之前做的一个项目,需要读取手机通讯录,查看注册了APP的用户,客户最近反应了一个问题,说获取不到新添加的联系人数据...

网友评论

      本文标题:获取通讯录的人数不全

      本文链接:https://www.haomeiwen.com/subject/bfkyectx.html