gpt4 book ai didi

ios - 如何检查我的联系人列表成员是否像 whatsapp 一样在我的应用程序中注册?

转载 作者:搜寻专家 更新时间:2023-10-31 22:54:21 25 4
gpt4 key购买 nike

我正在创建一个聊天应用程序,为此我需要检查我的每个联系人列表成员是否已在我的应用程序中注册,并在我的应用程序中显示已注册的成员列表。目前我正在调用一个 API 来逐个检查每个数字。如果有 800 个联系人,它会被调用 800 次。我知道这不是最好的方法。那么,有人可以帮助我并建议我以更好的方式做到这一点吗?

下面是我的代码:

 func createContactNumbersArray() {
for i in 0...self.objects.count-1 {
let contact:CNContact! = self.objects[i]
if contact.phoneNumbers.count > 0 {
for j in 0...contact.phoneNumbers.count-1 {
print((contact.phoneNumbers[j].value).value(forKey: "digits")!)
let tappedContactMobileNumber = (contact.phoneNumbers[j].value).value(forKey: "digits")
let phoneNo = self.separateISDCodeMobileNo(mobileNo:tappedContactMobileNumber as! String)
contactNumbersArray.append(phoneNo.1)
}
}
}
callGetAppUserDetailService(mobileNumber: self.contactNumbersArray[currentIndex] as! String)
}

我正在后台执行整个过程,并在当前场景中刷新前面的成员列表。我想让整个过程和 Whatsapp 一样快。

最佳答案

不修改后端是没办法的。因此,您需要与您的后端工程师密切合作,并为此构建一个 API。

以下是如何构建此 API 的建议:

要有 2 个 API:

1) 一次请求将整个用户通讯录上传到后端,类似:

let addressBook = NSMutableOrderedSet()

let contact1 = AddressBookContact()
contact1.name = "Jony Ive"
contact1.phone = "1-800-300-2000"
addressBook.add(contact1)

let contact2 = AddressBookContact()
contact2.name = "Steve Why"
contact2.phone = "412739123123"
addressBook.add(contact2)

let deviceUDID = nil

Request.uploadAddressBook(withUdid: deviceUDID, addressBook: addressBook, force: false, successBlock: { (updates) in

}) { (error) in

}

2) 下一步 - 从您的地址簿中检索已使用手机注册的用户列表,如下所示:

let deviceUDID = nil

Request.registeredUsersFromAddressBook(withUdid: nil, successBlock: { (users) in

}) { (error) in

}

所以现在你可以在 UI 中显示它了

在这里找到这个例子 https://developers.connectycube.com/ios/address-book

关于ios - 如何检查我的联系人列表成员是否像 whatsapp 一样在我的应用程序中注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52327462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com