iOS accessing AddressBook Contacts via UnitTest; how to set permissions?
At first as I do this 1) in app ->
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusDenied) ...if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusRestricted) ...
2) for test this issues I use class of OCMock, for predefined values and methodslink here - http://ocmock.org
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusDenied || ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusRestricted){} else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized){} else{ ABAddressBookRequestAccessWithCompletion(ABAddressBookCreateWithOptions(NULL, nil), ^(bool granted, CFErrorRef error) { if (!granted){ return; } });}
i found the preceding code on a handy little website called:
www.raywenderlich.com
// Address Book Authorization grant
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusDenied || ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusRestricted){ NSLog(@"Denied");}else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized){ NSLog(@"Authorized");}else{ ABAddressBookRequestAccessWithCompletion(ABAddressBookCreateWithOptions(NULL, nil), ^(bool granted, CFErrorRef error) { if (!granted) { NSLog(@"Just denied"); return; } NSLog(@"Just authorized"); }); NSLog(@"Not determined");}