首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在64位iPad上以编程方式在地址簿中创建组

无法在64位iPad上以编程方式在地址簿中创建组
EN

Stack Overflow用户
提问于 2014-02-20 21:40:22
回答 1查看 421关注 0票数 1

我正在尝试在本地通讯簿中创建一个组。

我已经成功地实现了代码,它在32位架构上的iOS6和iOS7上工作得很好。

然而,同样的代码在64位iPad 4上不会做任何事情。有人经历过这样的事情吗?

下面是创建群组的代码:

代码语言:javascript
复制
CFErrorRef error = NULL;
ABRecordRef newGroup = ABGroupCreate();
bool isSucces;
NSLog(@"newGroup: %@", newGroup);
isSucces = ABRecordSetValue(newGroup, 
                            kABGroupNameProperty,  
                            @"KONTAKT", 
                            &error);
if(!isSucces) NSLog(@"error at setting group value");
isSucces = ABAddressBookAddRecord(addressBook, newGroup, &error);
if(!isSucces)NSLog(@"error at adding record to addressbook");
ABAddressBookSave(addressBook, &error);
EN

回答 1

Stack Overflow用户

发布于 2014-02-20 21:49:52

尝尝这个

代码语言:javascript
复制
 bool foundIt = NO;

    CFArrayRef mygroups = ABAddressBookCopyArrayOfAllGroups(addrBook);
    CFIndex numGroups = CFArrayGetCount(mygroups);
    for(CFIndex idx=0; idx<numGroups; ++idx) {
        ABRecordRef mygroupItem = CFArrayGetValueAtIndex(mygroups, idx);

        CFStringRef name = (CFStringRef)ABRecordCopyValue(mygroupItem, kABGroupNameProperty);
            bool isMatch = [newName isEqualToString:(NSString *)name];
        CFRelease(name);

        if(isMatch) {

            groupNum = [NSNumber numberWithInt:ABRecordGetRecordID(mygroupItem)];
            [self setObject:groupNum forKey:kGroupID];
            foundIt = YES;
            break;
        }
    }
    CFRelease(mygroups);

    if(!foundIt) {

        ABRecordRef mygroupItem = ABGroupCreate();
        ABRecordSetValue(mygroupItem, kABGroupNameProperty, (CFStringRef *)newName, &error);
        if(!error) {
            ABAddressBookAddRecord (addrBook, mygroupItem, &error);    
            ABAddressBookSave(addrBook, &error);

            groupNum = [NSNumber numberWithInt:ABRecordGetRecordID(groupItem)];

            [self setObject:groupNum forKey:kGroupID];
        }
        CFRelease(mygroupItem);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21909573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档