如何通过地址簿获取用户

时间:2015-07-30 04:29:44

标签: ios iphone xcode swift parse-platform

我正在尝试开发iPhone应用并实现类似于Snapchat和许多其他应用的功能。我想询问用户的手机号码并将其添加到我的数据库中。然后,我想请求访问我的地址簿的权限,并根据我的手机联系人(朋友手机号码),我可以建议我的朋友的个人资料已安装该应用程序。我开发了一些功能,我可以将所有用户的联系人作为字符串。但我有一些问题。人们可以用不同的方式编写手机号码(将国家代码放在首位等)。由于我匹配一个精确的字符串,它变得有点难。

这个问题有解决办法吗?我知道不同的国家有不同的方式来编写手机号码。 F.E.在葡萄牙,我们可以写00351 911 111 111或+351 911 111 111或911 111 111。这在葡萄牙很容易解​​决,因为我们都有最后9位数字,很容易比较。但在美国,我看过(555)XXX-XXXX或XXX-XXX-XXXX以及许多其他格式..我无法确定用户如何保存联系人,以及其他国家/地区也是如此。

要求授权后发生的所有事件

在viewDidLoad中,我搜索解析手机用户

override func viewDidAppear(animated: Bool) {

    var query = PFUser.query()

    query?.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in

        if let users = objects {

            self.contactsUsernameArray.removeAll(keepCapacity: false)
            self.contactsNameArray.removeAll(keepCapacity: false)
            self.contactsImageFiles.removeAll(keepCapacity: false)
            self.contactsNumberArray.removeAll(keepCapacity: false)

            for object in users {

                        for var i = 0; i < self.phoneNumbers.count - 1; i++ {

                            if object["phoneNumber"] as! String == self.phoneNumbers[i] {

                                self.contactsUsernameArray.append(object.username!!)
                                self.contactsNameArray.append(object["name"] as! String)
                                self.contactsNumberArray.append(object["phoneNumber"] as! String)
                                self.contactsImageFiles.append(object["photo"] as! PFFile)

                    }


                }
            }
        }

        //println(self.usernames)
        //println(self.userids)

        self.contactsTable.reloadData()


    })

}

1 个答案:

答案 0 :(得分:0)

您可以尝试电话号码格式E.164

E.164