ABAddressBook で奇妙なことが起こっています。ここにいくつかのコードがあります:
- (NSArray*)addressBookArray {
    ABAddressBookRef addressBook = NULL;
    NSArray *temp = nil;
    if(&ABAddressBookCreateWithOptions != NULL) {
        CFErrorRef error = nil;
        addressBook = ABAddressBookCreateWithOptions(NULL, &error);
        ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
            dispatch_async(dispatch_get_main_queue(), ^{
                if(error) {
                    // handle error
                }
                else if(!granted) {
                    // handle not granted
                }
            });
        });
    }
    else { // iOS 5
        addressBook = ABAddressBookCreate();
    }
    if(addressBook) {
        temp = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook);
        CFRelease(addressBook);
    }
    return temp;
}
- (NSArray*)emailList {
    NSArray *temp = [self addressBookArray];
    NSMutableArray *list = nil;
    if(temp) {
        int n = temp.count;
        list = [NSMutableArray arrayWithCapacity:n];
        for(int i = 0; i < n ; i++) {
            ABRecordRef person = (__bridge ABRecordRef)[temp objectAtIndex:i];
            NSString *name = (__bridge_transfer NSString*)ABRecordCopyCompositeName(person);
            if(name) {
                ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);
                if(emails) {
                    int cnt = ABMultiValueGetCount(emails);
                    for(int j = 0; j < cnt; j++) {
                        NSString *email = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(emails, j);
                        if(email) {
                            [list addObject:email];
                            break;
                        }
                    }
                    CFRelease(emails);
                }
            }
        }
    }
    return list;
}
を呼び出しemailListてコメントアウトするCFRelease(addressBook)と、XCode の Analyze でリークの可能性があるという警告が表示されますが、コードは正しく動作します。
コメントを外すCFRelease(addressBook)と、リークの警告はなく、適切な値がありますが、ABRecordRef person常にnil の場合です。NSString *nameABMultiValueRef emails
混乱している。