- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取CNContact。但问题是 CNContactStore.CNContactStore.authorizationStatusForEntityType 任何时候都不是.Authorized。
import Contacts
import ContactsUI
class ContactViewController: UIViewController
var store = CNContactStore()
override func viewDidLoad() {
checkPermission()
}
func checkPermission(){
switch CNContactStore.authorizationStatusForEntityType(.Contacts){
case .Authorized:
let cnt = findContacts()
print(cnt.count)
case .NotDetermined:
store.requestAccessForEntityType(.Contacts){succeeded, err in
guard err == nil && succeeded else{
return
}
let cnt = findContacts()
print(cnt.count)
}
default:
print("Not Handled")
}
}
func findContacts() -> [CNContact] {
let keysToFetch = [CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName),
CNContactImageDataKey,CNContactEmailAddressesKey,CNContactUrlAddressesKey,CNContactNoteKey,
CNContactPhoneNumbersKey,CNContactPostalAddressesKey]
let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)
fetchRequest.unifyResults = true
var contacts = [CNContact]()
do {
try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
contacts.append(contact)
})
}
catch let error as NSError {
print(error.localizedDescription)
}
return contacts
}
}
在 checkPermission() 方法 findContacts() 中从未被调用过。这意味着 print(cnt.count) 不会打印。但为什么。为了获得授权许可,完美的代码是什么?
如果我从 viewDidLoad 调用 findContacts() 方法而不使用 checkPermission() 方法,则应用程序已卡在以下代码上
try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
contacts.append(contact)
})
最佳答案
请尝试将其添加到 .plist
<key>NSContactsUsageDescription</key>
<string>This app requires contacts from phone book.</string>
关于ios - CNContactStore.CNContactStore.authorizationStatusForEntityType 不是 .Authorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40013708/
我正在尝试获取CNContact。但问题是 CNContactStore.CNContactStore.authorizationStatusForEntityType 任何时候都不是.Authori
我正在尝试插入var 联系人:[CNContact] = []var store = CNContactStore() 但我没有找到适合这项工作的代码,我找到了这个函数,我需要为其命名 func fi
我正在用 Swift 构建一个应用程序。我想使用 phoneNumber(作为字符串)创建谓词,并从 CNContactStore 中检索该联系人的姓名(如果存在)。我可以通过以下方式很容易地创建名称
我正在研究如何使用联系人框架,但是创建联系人的一些相当简单的代码失败并出现意外结果。这是我的代码: let Store = CNContactStore() Store.request
CNContactStore 的 executeSaveRequest(_:) 方法根据文档抛出错误。 我试图在 do/catch 中捕获此错误,但我无法弄清楚我需要捕获什么错误。 do{ try
我需要获取用户设备上所有联系人的数量。 ABAddressBookGetPersonCount 上的弃用消息说: use count of fetch results for CNContactFet
我正在尝试插入 var 联系人:[CNContact] = []var store = CNContactStore() 但我没有找到适合这项工作的代码,我发现这个函数需要给它起个名字 func fi
我尝试使用 CNContactStore 函数 requestAccessForEntityType 获得使用地址簿的授权,但收到一个我不明白的错误。 该函数在类中定义为: public func r
我正在编写一个程序,允许用户使用 CNContactPickerViewController 选择联系人。如果所选联系人 NOT 没有关联的电话号码,我想让它弹出一个错误,并在他们点击确定时返回到 C
你真的可以在 Siri 扩展中访问联系人数据库吗? 我正在尝试制作一个 INSendPaymentIntent 扩展,用户可以在其中指定他要向其汇款的人。这在模拟器(Xcode 8.3.2,iOS 1
我想使用联系人框架 (IOS 9) 来检索与电子邮件地址匹配的联系人。 任何帮助将不胜感激。请使用 Objective-C 。谢谢。 最佳答案 添加 Contacts.framework #impor
我想以编程方式在我的应用程序中创建联系人,并使用苹果联系人框架将其保存到实际联系人中。我可以创建一个包含名字、姓氏甚至日期的模板。 我从开始 let contact = CNMutableContac
似乎无法从 CNContactStore 获取组。 CNContactStore 使用需要组标识符来获取组的谓词。 CNContact 没有任何方法可以找出它所在的组(我可以找到)。 文档中是否缺少某
我正在使用 UNNotificationServiceExtension 将通知中的电话号码替换为姓名。我正在尝试在 CNContactStore 中查找电话号码,并将 Ph# 替换为联系人姓名。 我
这是我获取设备的联系人并保存到 MutableArray 的代码。 但我需要单独获取所有联系人的 recordID 并保存到同一个数组中以供进一步使用。 (例如,使用 recordId 删除联系人)。
我正在尝试删除我的应用程序的 URL 冗余。如果单个联系人有多个 URL,这很有效。但是如果有链接的联系人,通常保存操作会失败并显示消息 “操作无法完成。(CNErrorDomain 错误 2。)”
我正在构建一个 UI 来请求访问 CNContactStore 并处理用户之前(并且可能错误地)拒绝访问的情况。当我检测到当前状态为 .denied 时,我会显示一个 UIAlertControlle
尝试保存已填充社交资料数据的联系人时遇到以下错误:这在 iOS 9.2 中出现 Domain=CNErrorDomain,Code=500 "(null)" UserInfo={CNKeyPaths=
我正在寻找一种方法来获取与联系人容器 ( CNGroup ) 相关的组列表 ( CNContainer )。当我使用 predicate它失败。 我使用的代码是 func populateGroups
目前我正在使用这段代码从 iPhone 中获取联系人 CNContactStore *store = [[CNContactStore alloc] init]; [store reques
我是一名优秀的程序员,十分优秀!