我似乎無法讓CNContactPicker正常工作。我已經觀看並重新查看了WWDC會話223.它看起來像選擇器的iOS版本,您設置了一個謂詞來啓用聯繫人以進行選擇,但OS X版本沒有相應的選項。據我所知,如果您的委託支持contactPicker(選擇器:CNContactPicker,didSelectContact聯繫人:CNContact),並且您不提供任何顯示的鍵,選擇器將被配置爲選擇聯繫人。這裏是示例代碼。當我使用這個時,聯繫人全部變灰並且委託方法從不被調用。CNContactPicker - 所有聯繫人灰顯
在此先感謝
func selectContact() {
let contactStore = CNContactStore(
contactStore.requestAccessForEntityType(CNEntityType.Contacts, completionHandler:{(bool: Bool, error: NSError?) -> Void in
print("access granted = \(bool)")
})
let contactPicker = CNContactPicker()
contactPicker.delegate = self
contactPicker.showRelativeToRect(NSRect(x: 0, y: 0, width: 200, height: 500), ofView: view, preferredEdge: NSRectEdge.MinX)
}
//Delegate method
func contactPicker(picker: CNContactPicker, didSelectContact contact: CNContact) {
print(contact)
}
您有權限訪問嗎? (並不是說這很重要;在iOS上,你不需要訪問來使用選擇器。) – matt
另一種可能性是這件事情剛剛破裂。很多聯繫人UI的東西在iOS上壞了,爲什麼OS X要分擔痛苦呢? :) – matt
當我運行這個,打印命令返回true。我有這個來驗證它不是一個訪問問題。有趣的是很多聯繫人界面的東西被破壞;這讓我覺得目前可能沒有解決方案:| –