【问题标题】:Adding a new phone number into contact app将新电话号码添加到联系人应用程序
【发布时间】:2012-11-15 12:15:36
【问题描述】:

我有这段代码可以打开联系人视图控制器:

ABNewPersonViewController *newPersonVC = [[ABNewPersonViewController alloc] init];
               newPersonVC.newPersonViewDelegate = self;
               UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:newPersonVC];
               [self presentModalViewController:nc animated:YES];

我希望能够抓取NSString *phoneNumber = @"(416)-555-5555"; 并将其放入“家庭电话”字段。我看过throughotheranswers,结果要么什么都没有弹出,要么我的应用程序崩溃了。 Apple 的文档也没有多大帮助。

我该如何解决这个问题?任何帮助表示赞赏。

【问题讨论】:

标签: iphone ios xcode


【解决方案1】:
NSString *phoneNumber = @"(416)-555-5555";
ABRecordRef newPerson = ABPersonCreate();
CFErrorRef error = NULL;
ABRecordSetValue(newPerson, kABPersonDepartmentProperty,(__bridge  CFTypeRef)@"Department", nil);
ABMutableMultiValueRef phoneNumberMultiValue = ABMultiValueCreateMutable(kABPersonPhoneProperty);
ABMultiValueAddValueAndLabel(phoneNumberMultiValue,(__bridge  CFTypeRef)phoneNumber, kABWorkLabel, nil);
ABRecordSetValue(newPerson, kABPersonPhoneProperty, phoneNumberMultiValue, nil);
NSAssert( !error, @"Something bad happened here." );

ABNewPersonViewController *newPersonVC = [[ABNewPersonViewController alloc] init];
[newPersonVC setDisplayedPerson:newPerson];
newPersonVC.newPersonViewDelegate = self;
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:newPersonVC];
[self presentModalViewController:nc animated:YES];

希望对你有帮助。

【讨论】:

  • 像魅力一样工作!谢谢你的帮助;这非常令人沮丧。太遗憾了,Apple 更新和现代化代码的难度如此之大。
  • 只是好奇:向现有联系人添加电话号码的代码是什么?
  • ABAddressBookRef 地址簿 = ABAddressBookCreate(); NSArray *people = (__bridge NSArray *)ABAddressBookCopyPeopleWithName(addressbook, CFSTR("ContactName")); if ((people != NULL) && [people count]) { ABRecordRef person = (__bridge ABRecordRef)[people objectAtIndex:0]; ABPersonViewController *picker = [[ABPersonViewController alloc]init]; picker.personViewDelegate = self; picker.displayedPerson = 人;选择器.allowsEditing = YES; [self.navigationController pushViewController:picker Animation:YES]; } CFRelease(地址簿);
  • 好的。谢谢;这很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 2011-07-23
  • 2011-12-17
相关资源
最近更新 更多