【问题标题】:Importing VCard in objective C in iPhone在 iPhone 的目标 C 中导入 VCard
【发布时间】:2011-11-28 05:33:56
【问题描述】:

我正在使用 XCode 4.2 开发 iPhone 应用程序。在应用程序的一部分中,我将获得一个 VCard 作为 NSString

我发现了这个函数 initWithVCardRepresentation 并且我认为它比逐个解析数据更容易(即获取名字然后是姓氏等......但我很难实现它我的代码。

我有 AddressBookAddressBookUI 框架,我正在尝试使用此代码,但找不到确切的方法

-(IBAction)Add{

  // I have a  NSString *card defined somewhere else
   ABAddressBookRef *iPhoneAddressBook = ABAddressBookCreate();
    ABRecordRef *contact = ABPersonCreatePeopleInSourceWithVCardRepresentation(iPhoneAddressBook, (__bridge_retained CFStringRef) card);

    CFRelease(contact);
    CFRelease(iPhoneAddressBook);   
}

当我编译时,它在该行崩溃 ABRecordRef *contact = ABPersonCreatePeopleInSourceWithVCardRepresentation(iPhoneAddressBook, (__bridge_retained CFStringRef) card); 我在@autoreleasepool 中收到以下绿色错误

Thread1:Program Received Signal "SIGABRT".

我对应用程序开发还很陌生,如果我提供的信息足够,请告诉我

谢谢

【问题讨论】:

  • 您找到解决方案了吗?您可以回答自己的问题。如果不是,你现在卡在哪里了?

标签: objective-c ios xcode4.2 addressbook vcf-vcard


【解决方案1】:

如果你想在之后有一个 ABPerson(什么是可取的),使用:

// Assuming NSString *card exists already.
ABPerson *person = [[[ABPerson alloc] initWithVCardRepresentation:[card dataUsingEncoding:NSUTF8StringEncoding] autorelease];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多