2016-07-07 30 views
8

Mã của tôi gặp sự cố ngay sau khi cố gắng yêu cầu quyền truy cập vào CNContactStore. Bất kỳ ý tưởng nào nếu đây là sự cố beta?Swift 3/Xcode 8 - CNContact [truy cập] <Private>

var addressBookStore = CNContactStore() 

addressBookStore.requestAccess(for: .contacts) { (granted, error) 

trong

// nhắn console này được kích hoạt ở vụ tai nạn - Messenger [836: 1.175.155] [truy cập] tin

vụ tai nạn xảy ra ở dòng này và thậm chí ngăn chặn thậm chí in lỗi !

Cảm ơn trước

Trả lời

21

Như đã đề cập ở đây: https://developer.apple.com/reference/contacts

quan trọng

ứng dụng

Một iOS liên kết trên hoặc sau khi iOS 10,0 phải bao gồm trong Info.plist tập tin của nó mô tả cách sử dụng phím cho các loại dữ liệu cần để truy cập hoặc dữ liệu sẽ bị lỗi. Để truy cập dữ liệu Danh bạ cụ thể, phải bao gồm NSContactsUsageDescription.

Bạn phải addd chính NSContactsUsageDescription trong file Info.plist của bạn

enter image description here

Sau đó, bạn sẽ nhận được hộp thoại ủy quyền. Nếu không có ứng dụng chính này sẽ bị lỗi.

enter image description here

let addressBookStore = CNContactStore() 

addressBookStore.requestAccess(for: CNEntityType.contacts) { (isGranted, error) in 
    print(isGranted) 
    print(error) 
} 
+3

một giải pháp đơn giản như vậy. Tôi không thể tin rằng tôi đã bỏ lỡ điều đó! cảm ơn rất nhiều – InfinitePod

+1

Mẹo tuyệt vời !!! TY! –

Các vấn đề liên quan