测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可 | MIT |
Released最后发布 | 2016年5月 |
SPM支持 SPM | ✗ |
由 Aadesh Patel 维护。
要运行示例项目,首先克隆仓库,然后从 Example 目录中运行 pod install
import AddressBookManager
...
var abManager: AddressBookManager? = AddressBookManager()
switch (AddressBookManager.getAuthorizationStatus()) {
case .Authorized:
// Authorized To Use AddressBook
case .Denied:
// Denied Access To AddressBook
case .Restricted:
// Restricted Access To AddressBook
case .Unknown:
// Access To AddressBook Unknown, Most Likely AddressBook Authorization Has Not Been Requested Yet
}
// Option 1
abManager?.requestAuthorizationWithCompletion({ (granted: Bool, error: CFError?) -> Void in
if (error) {
// Handle Error
} else if (granted) {
var people = abManager?.allContacts
// Do Something With Contacts
}
})
// Option 2 - If you want to use a specific queue for retrieval
abManager?.retrieveAllContactsInQueue(dispatch_get_main_queue(),
completion: { (contacts: [AddressBookPerson]?, error: CFError?) -> Void in
if (error) {
// Handle Error
} else {
// Do Something With Contacts
}
})
// Sort Contacts In Ascending Order By First Name
abManager?.retrieveAllContactsInQueue(dispatch_get_main_queue(),
sort: { $0.firstName < $1.firstName },
completion: { (contacts: [AddressBookPerson]?, error: CFError?) -> Void in
if (error) {
// Handle Error
} else {
// Do Something With Contacts
}
})
// Retrieve Contacts That Have Atleast One Email
abManager?.retrieveAllContactsInQueue(dispatch_get_main_queue(),
filter: { count($0.emails!) > 0 },
completion: { (contacts: [AddressBookPerson]?, error: CFError?) -> Void in
if (error) {
// Handle Error
} else {
// Do Something With Contacts
}
})
// Retrieve Only Contacts That Have Atleast One Email And Sort Those Contacts In Ascending Order By First Name
abManager?.retrieveAllContactsInQueue(dispatch_get_main_queue(),
sort: { $0.firstName < $1.firstName },
filter: { count($0.emails!) > 0 },
completion: { (contacts: [AddressBookPerson]?, error: CFError?) -> Void in
if (error) {
// Handle Error
} else {
// Do Something With Contacts
}
})
abm.requestAuthorizationWithCompletion { (granted: Bool, error: CFError?) -> Void in
var person = AddressBookPerson()
person.firstName = "Bob"
person.lastName = "Smith"
var personalEmail = MultiValue(key: "personal", value: "[email protected]")
person.emails = [personalEmail]
var homePhoneNumber = MultiValue(key: "home", value: "5555555555")
var mobilePhoneNumber = MultiValue(key: "mobile", value: "1234567890")
person.phoneNumbers = [homePhoneNumber, mobilePhoneNumber]
person.profilePicture = UIImage(named: "bob.png")
var homeAddress = Dictionary<AddressProperty, AnyObject>()
homeAddress[AddressProperty.Street] = "123 Maple Street"
homeAddress[AddressProperty.City] = "Miami"
homeAddress[AddressProperty.State] = "FL"
homeAddress[AddressProperty.ZipCode] = "00000"
homeAddress[AddressProperty.Country] = "USA"
var homeAddressValue = MultiValue(key: "home", value: homeAddress)
person.addresses = [homeAddressValue]
var dateFormatter: NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
let birthday: NSDate? = dateFormatter.dateFromString("01/01/1970")
person.birthday = birthday
person.organization = "Some Huge Organization"
person.jobTitle = "Developer"
person.department = "Software"
person.note = "Some Note Here"
var personalURL = MultiValue(key: "personal", value: "https://somewebsite")
person.urls = [personalURL]
person.prefix = "Mr"
person.suffix = "Jr"
person.middleName = "Roger"
var anniversaryDate = MultiValue(key: "anniversary", value: dateFormatter.dateFromString("02/02/2000"))
person.dates = [anniversaryDate]
abm?.addRecord(person)
abm?.save()
}
AddressBookManager 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行
pod "AddressBookManager"
或者
您可以直接克隆此存储库,并将文件拖到您的项目中。
Aadesh Patel,[email protected]
AddressBookManager 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。