【问题标题】:iOS Error Creating ContactiOS 错误创建联系人
【发布时间】:2017-05-29 21:11:28
【问题描述】:

我正在使用以下代码来创建联系人:

CNContactRelation *rel = [[CNContactRelation alloc] initWithName:@"John"];
CNLabeledValue *lv = [[CNLabeledValue alloc] labeledValueBySettingLabel:@"_$!<Friend>!$_" value:rel];

NSMutableArray *arr = [NSMutableArray new];
[arr addObject:lv];

CNMutableContact *contact = [[CNMutableContact alloc] init];
contact.givenName = @"Joe";
[contact setContactRelations:arr];

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

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

保存时出现此错误:

error = Error Domain=CNErrorDomain Code=2 "(null)" UserInfo={CNKeyPaths=(
contactRelations)}

如果我删除设置联系关系的行 ([contact setContactRelations:arr]),那么就可以正常创建联系。

有谁知道联系人关系数组有什么问题,或者不允许设置这个?

【问题讨论】:

  • 我在这里遇到了同样的问题。你有什么解决办法吗?
  • 不,恐怕我没有。需要此功能的功能已从应用程序中删除,因此不必担心。

标签: contacts


【解决方案1】:

试试这个。它对我有用。斯威夫特 3.1。必须导入“联系人”

 let store = CNContactStore()
 let contact = CNMutableContact()
 contact.givenName = "first Name"
 contact.familyName = "Last Name"

 let workEmail = CNLabeledValue(label:CNLabelWork, value:"EMAIL" as NSString)
 contact.emailAddresses = [workEmail]

 let homePhone = CNLabeledValue(label: CNLabelWork, value: CNPhoneNumber(stringValue :NUMBER ))
 contact.phoneNumbers = [homePhone]



 let saveRequest = CNSaveRequest()
 saveRequest.add(contact, toContainerWithIdentifier:nil)
 try! store.execute(saveRequest)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多