如何像应用程序一样创建联系人列表

Posted

技术标签:

【中文标题】如何像应用程序一样创建联系人列表【英文标题】:How to create contacts list like whats app did 【发布时间】:2016-01-04 12:44:31 【问题描述】:

我正在开发一个创建用户个人资料的应用。我需要能够从我的联系人中查看谁安装了该应用程序,以便我能够授予他们访问我的个人资料并查看他们的个人资料的权限。

如何获取完整的联系人列表、确定我的电话号码以创建我的帐户,并检查联系人中有多少人安装了该应用程序? (类似于 WhatsApp 的做法)

我知道可以使用 Apple API 获取联系人列表,但我是否必须将所有信息发送到服务器以检查他们是否安装了应用程序?

谢谢。

【问题讨论】:

【参考方案1】:

我认为您正在管理一个本地数据库以在本地存储用户。

首先,您必须在服务器上有一个联系人映射表,以确定将哪个号码分配给哪个用户(每个用户每个帐户必须有唯一的号码)。

您必须将电话号码数组传递给您的服务器请求并触发查询以仅获取电话号码在数组中的那些用户。

您得到一个用户对象数组,并且该数组必须保存在本地数据库中。 (您可以将所有联系人存储在本地数据库中,并且更新记录(对于 appId、contactId、服务器名称等)是用户是应用程序用户)。

最后这些拥有 appId 的用户就是你的应用用户。

希望这个概念对您有所帮助。

【讨论】:

【参考方案2】:

如果您使用网络服务,您的后端将可以提供正在使用您的应用程序的联系人。

要获取应用程序联系人,您必须使用用户电话号码使用电话号码,您可以通过网络服务获取应用程序用户

【讨论】:

你能给我一些链接和源代码吗【参考方案3】:

要从电话簿中获取所有联系人,您可以在 swift 中使用以下方法 第一个import Contacts

 func FetchContact()
    
        if #available(ios 9.0, *) 
            let contactStore = CNContactStore()

            do 
                let request:CNContactFetchRequest
                request = CNContactFetchRequest(keysToFetch: [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactMiddleNameKey, CNContactEmailAddressesKey,CNContactPhoneNumbersKey])
                request.sortOrder = CNContactSortOrder.GivenName
                try contactStore.enumerateContactsWithFetchRequest(request) 
                    (contact, cursor) -> Void in
                     self.dataArray?.addObject(contact)
                
            
            catch
                print("Handle the error please")
            
            //self.collectionView?.reloadData()
        
    

【讨论】:

好的,我得到了一个电话号码数组,当我向服务器发送电话号码时,prblm 即将到来 n 请在objective-c 中编写代码 对于目标 c,您可以在此处查看代码 ***.com/questions/17975297/…

以上是关于如何像应用程序一样创建联系人列表的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何像在联系人应用程序中一样使用字母索引器和快速滚动填充 ListView。

如何在我的 android 程序中访问联系人

如何像 facebook 一样制作城市/国家下拉列表?

如何像照片原生应用一样打开相册列表?

像whatsapp一样加载联系人

如何在 Swift 中创建像指南针一样的“滑动视图”?