【发布时间】:2015-07-30 04:29:43
【问题描述】:
我正在尝试开发一个 iPhone 应用程序并实现类似于 snapchat 和许多其他应用程序的功能。我想询问用户的手机号码并将其添加到我的数据库中。然后我想请求访问我的通讯录的权限,并根据我的手机联系人(朋友的手机号码),我可以建议我安装了该应用程序的朋友的个人资料。我开发了一些函数,可以将所有用户的联系人作为字符串获取。但我有一些问题。人们可以用不同的方式编写手机号码(将国家代码放在首位等)。因为我要匹配一个精确的字符串,所以有点难。
这个问题有什么解决办法吗?我知道不同的国家有不同的手机号码书写方式。 F.e.在葡萄牙,我们可以写 00351 911 111 111 或 +351 911 111 111 或 911 111 111。这在葡萄牙很容易解决,因为我们都有最后 9 位数字并且很容易比较。但是在美国我见过(555)XXX-XXXX或者XXX-XXX-XXXX等多种格式。。我无法确定用户是如何保存联系人的,其他国家也是如此。
一切都在请求授权后发生
在 viewDidLoad 中我在 Parse 中搜索我的手机用户
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()
})
}
【问题讨论】:
标签: ios iphone xcode swift parse-platform