【问题标题】:CNContact framework phonenumbers store blankCNContact 框架电话号码存储空白
【发布时间】:2016-03-11 11:11:17
【问题描述】:

我正在尝试从网络数组中添加新的联系人号码,但设备中没有输入数据

CNLabeledValue *homePhone = [CNLabeledValue labeledValueWithLabel:CNLabelPhoneNumberMobile value:[CNPhoneNumber phoneNumberWithStringValue:[NSString stringWithFormat:@"%@",[[contactDict valueForKey:@"Mobile"]objectAtIndex:i]]]];

        contact.phoneNumbers = @[homePhone];
CNSaveRequest *request = [[CNSaveRequest alloc] init];
        [request addContact:contact toContainerWithIdentifier:nil];

【问题讨论】:

  • 尝试 NSLOG [NSString stringWithFormat:@"%@",[[contactDict valueForKey:@"Mobile"]objectAtIndex:i]

标签: ios objective-c cncontact cncontactstore


【解决方案1】:

Objective-C

// create contact
CNMutableContact *contact = [[CNMutableContact alloc] init];
contact.familyName = @"Doe";
contact.givenName = @"John";

// Add mobile number
CNLabeledValue *mobileNumber = [CNLabeledValue labeledValueWithLabel: CNLabelPhoneNumberMobile value:[CNPhoneNumber phoneNumberWithStringValue:@"123-123-1212"]];
contact.phoneNumbers = @[mobileNumber];

CNSaveRequest *request = [[CNSaveRequest alloc] init];
[request addContact:contact toContainerWithIdentifier:nil];

// save contact
NSError *saveError;
if (![store executeSaveRequest:request error:&saveError]) {
    NSLog(@"error = %@", saveError);
}

斯威夫特

// create contact
var contact: CNMutableContact = CNMutableContact()
contact.familyName = "Doe"
contact.givenName = "John"

// Add mobile number
var mobileNumber: CNLabeledValue = CNLabeledValue.labeledValueWithLabel(CNLabelPhoneNumberMobile, value: CNPhoneNumber.phoneNumberWithStringValue("123-123-1212"))
contact.phoneNumbers = [mobileNumber]
var request: CNSaveRequest = CNSaveRequest()
request.addContact(contact, toContainerWithIdentifier: nil)

// save contact
NSError * saveError
if !store.executeSaveRequest(request, error: saveError) {
    NSLog("error = %@", saveError)
}

【讨论】:

  • executeSaveRequest 时是否抛出任何错误?您的值可能是nullempty
  • 我查看了您的代码并在我的机器上进行了测试,它的工作方式非常有魅力,您的数据字典肯定有问题。再检查一遍。
  • 问题解决了我只添加了一个值contact.phoneNumbers = [mobileNumber],如果手机号码为空则没有插入,现在我添加了多个联系人,如工作、iPhone、手机和Main in contact.phoneNumbers = [work,iPhone,mobile] 现在完成了...谢谢@Dipen Panchasara
  • @VivekGoswami 欢迎快乐编码:)
猜你喜欢
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
相关资源
最近更新 更多