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

时间:2016-01-04 12:44:32

标签: ios json uitableview abaddressbook

我正在处理创建用户个人资料的应用。我需要能够看到我的联系人中的哪些人安装了该应用,以便我可以授予他们访问我的个人资料的权限并查看他们的个人资料。

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

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

谢谢。

3 个答案:

答案 0 :(得分:1)

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

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

您必须将电话号码数组传递给您的服务器请求并触发查询,以便仅获取其电话号码位于阵列中的用户。

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

最后,拥有appId的用户是您的应用程序用户。

希望这个概念可以帮助你。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

要从电话簿获取所有联系人,您可以在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()
        }
    }