在 swift 的特定时间以编程方式从地址簿中删除联系人
Programmatically remove contact from adress book on specific time in swift
我正在尝试以编程方式在特定时间从地址簿中删除联系人。在 Swift 中甚至有可能吗?Apple 允许吗?我已经熟悉 CNContactStore
,因为我已经着手将联系人添加到电话簿中。授予对联系人等的访问权限。但我不知道如何在特定时间以编程方式(永远)从地址簿中删除联系人。
感谢任何帮助!
参考:
http://www.ios-blog.co.uk/tutorials/swift/contacts-framework-p2/
解释(来自 LINK):
删除联系人
“iOS 联系人框架为我们提供了函数 deleteContact(:) 来帮助我们删除联系人。希望您到目前为止已经足够理解本教程以继续进行,因为我只是将概述该过程并让您尝试一下。就像我们在整个教程中所做的一样,我们将实例化一个 CNSaveRequest 类型的对象,发出我刚才提到的 deleteContact(:) 函数并传递可变的联系它。然后,就像我们创建联系人或更新联系人一样,我们将使用 executeSaveRequest(_:)。
请注意删除就是删除!删除的联系人无法再次获取。这在模拟器上应该没什么大不了的,但你确实需要确保你有安全协议,这样你就不会删除用户的联系人。
那么,您是否设法使删除工作正常进行?好的,好的,我会 post 完整的代码,这样你就可以看到。"
解决方案(来自 LINK):
let predicate = CNContact.predicateForContactsMatchingName("John")
let toFetch = [CNContactEmailAddressesKey]
do{
let contacts = try store.unifiedContactsMatchingPredicate(predicate,keysToFetch: toFetch)
guard contacts.count > 0 else{
print("No contacts found")
return
}
guard let contact = contacts.first else{
return
}
let req = CNSaveRequest()
let mutableContact = contact.mutableCopy() as! CNMutableContact
req.deleteContact(mutableContact)
do{
try store.executeSaveRequest(req)
print("Success, You deleted the user")
} catch let e{
print("Error = \(e)")
}
} catch let err{
print(err)
}
我正在尝试以编程方式在特定时间从地址簿中删除联系人。在 Swift 中甚至有可能吗?Apple 允许吗?我已经熟悉 CNContactStore
,因为我已经着手将联系人添加到电话簿中。授予对联系人等的访问权限。但我不知道如何在特定时间以编程方式(永远)从地址簿中删除联系人。
感谢任何帮助!
参考:
http://www.ios-blog.co.uk/tutorials/swift/contacts-framework-p2/
解释(来自 LINK):
删除联系人
“iOS 联系人框架为我们提供了函数 deleteContact(:) 来帮助我们删除联系人。希望您到目前为止已经足够理解本教程以继续进行,因为我只是将概述该过程并让您尝试一下。就像我们在整个教程中所做的一样,我们将实例化一个 CNSaveRequest 类型的对象,发出我刚才提到的 deleteContact(:) 函数并传递可变的联系它。然后,就像我们创建联系人或更新联系人一样,我们将使用 executeSaveRequest(_:)。
请注意删除就是删除!删除的联系人无法再次获取。这在模拟器上应该没什么大不了的,但你确实需要确保你有安全协议,这样你就不会删除用户的联系人。
那么,您是否设法使删除工作正常进行?好的,好的,我会 post 完整的代码,这样你就可以看到。"
解决方案(来自 LINK):
let predicate = CNContact.predicateForContactsMatchingName("John")
let toFetch = [CNContactEmailAddressesKey]
do{
let contacts = try store.unifiedContactsMatchingPredicate(predicate,keysToFetch: toFetch)
guard contacts.count > 0 else{
print("No contacts found")
return
}
guard let contact = contacts.first else{
return
}
let req = CNSaveRequest()
let mutableContact = contact.mutableCopy() as! CNMutableContact
req.deleteContact(mutableContact)
do{
try store.executeSaveRequest(req)
print("Success, You deleted the user")
} catch let e{
print("Error = \(e)")
}
} catch let err{
print(err)
}