I would replace the actual method implementation of + (ABAddressBookRef) addressBook;
to:
-
(ABAddressBookRef) addressBook
{
if (shared) return shared;
CFErrorRef errorRef;
if (&ABAddressBookCreateWithOptions != NULL){
shared = ABAddressBookCreateWithOptions(NULL, &errorRef);
}
else
{
shared = ABAddressBookCreate();
}
if (!shared)
{
NSError *error = (__bridge_transfer NSError *)errorRef;
NSLog(@"Error creating new address book object: %@", error.localizedFailureReason);
return nil;
}
//ABAddressBookRegisterExternalChangeCallback(shared, addressBookUpdated, NULL);
return shared;
}
I would replace the actual method implementation of + (ABAddressBookRef) addressBook;
to:
(ABAddressBookRef) addressBook
{
if (shared) return shared;
CFErrorRef errorRef;
if (&ABAddressBookCreateWithOptions != NULL){
shared = ABAddressBookCreateWithOptions(NULL, &errorRef);
}
else
{
shared = ABAddressBookCreate();
}
if (!shared)
{
NSError *error = (__bridge_transfer NSError *)errorRef;
NSLog(@"Error creating new address book object: %@", error.localizedFailureReason);
return nil;
}
//ABAddressBookRegisterExternalChangeCallback(shared, addressBookUpdated, NULL);
return shared;
}