- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试删除我的应用程序的 URL 冗余。如果单个联系人有多个 URL,这很有效。但是如果有链接的联系人,通常保存操作会失败并显示消息
“操作无法完成。(CNErrorDomain 错误 2。)”
任何建议如何解决这个问题?它不适用于统一联系吗?如果应该在单个非统一项目上单独删除 URL,有没有办法从统一项目中获取这些内容?
这是代码的摘录:
CNSaveRequest *saveRequest = [[CNSaveRequest alloc] init];
NSArray* keys = @[CNContactUrlAddressesKey];
NSPredicate *predicate = [CNContact predicateForContactsWithIdentifiers:identifiers];
NSError *error;
NSArray <CNContact *> *contacts = [_contactStore unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error];
for (CNContact *contact in contacts) {
// here we'll collect non-ambigous URLs
NSMutableArray<CNLabeledValue<NSString *> *> *copyOfURLs = [NSMutableArray array];
// just a marker for the moment if a URL with specific prefix was already found
NSString *baseURL = nil;
for (CNLabeledValue<NSString *> *labeledValue in contact.urlAddresses) {
NSString *url = labeledValue.value;
if ([url hasPrefix:APP_IDENTITY_URL_SCHEME]) {
if (baseURL == nil)
baseURL = url;
else
continue;
}
[copyOfURLs addObject:labeledValue];
}
CNMutableContact *updatedContact = [contact mutableCopy];
updatedContact.urlAddresses = copyOfURLs;
[saveRequest updateContact:updatedContact];
}
NSError *saveError;
if (![_contactStore executeSaveRequest:saveRequest error:&saveError]) {
NSLog(@"Saving error: %@", saveError.localizedDescription);
}
最佳答案
我知道现在回答为时已晚,但我遇到了同样的问题,即 CNContactStore executeSaveRequest 因(CNErrorDomain 错误 2.)而失败,并遇到了这个悬而未决的问题。我解决了同样的问题,我正在使用零字节数组设置 imageData。
我找到了这个问题的根本原因。如果上面的数组没有任何值,即 0 元素数组,则此行会导致问题。
updatedContact.urlAddresses = copyOfURLs;
如果 copyOfURLs 中没有任何元素,甚至不要将 updatedContact.urlAddresses 设置为空(0 元素)数组。
if ([copyOfURLs length] > 0) {
updatedContact.urlAddresses = copyOfURLs;
}
关于ios - CNContactStore executeSaveRequest 失败(CNErrorDomain 错误 2。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33033163/
我正在尝试获取CNContact。但问题是 CNContactStore.CNContactStore.authorizationStatusForEntityType 任何时候都不是.Authori
我正在尝试插入var 联系人:[CNContact] = []var store = CNContactStore() 但我没有找到适合这项工作的代码,我找到了这个函数,我需要为其命名 func fi
我正在用 Swift 构建一个应用程序。我想使用 phoneNumber(作为字符串)创建谓词,并从 CNContactStore 中检索该联系人的姓名(如果存在)。我可以通过以下方式很容易地创建名称
我正在研究如何使用联系人框架,但是创建联系人的一些相当简单的代码失败并出现意外结果。这是我的代码: let Store = CNContactStore() Store.request
CNContactStore 的 executeSaveRequest(_:) 方法根据文档抛出错误。 我试图在 do/catch 中捕获此错误,但我无法弄清楚我需要捕获什么错误。 do{ try
我需要获取用户设备上所有联系人的数量。 ABAddressBookGetPersonCount 上的弃用消息说: use count of fetch results for CNContactFet
我正在尝试插入 var 联系人:[CNContact] = []var store = CNContactStore() 但我没有找到适合这项工作的代码,我发现这个函数需要给它起个名字 func fi
我尝试使用 CNContactStore 函数 requestAccessForEntityType 获得使用地址簿的授权,但收到一个我不明白的错误。 该函数在类中定义为: public func r
我正在编写一个程序,允许用户使用 CNContactPickerViewController 选择联系人。如果所选联系人 NOT 没有关联的电话号码,我想让它弹出一个错误,并在他们点击确定时返回到 C
你真的可以在 Siri 扩展中访问联系人数据库吗? 我正在尝试制作一个 INSendPaymentIntent 扩展,用户可以在其中指定他要向其汇款的人。这在模拟器(Xcode 8.3.2,iOS 1
我想使用联系人框架 (IOS 9) 来检索与电子邮件地址匹配的联系人。 任何帮助将不胜感激。请使用 Objective-C 。谢谢。 最佳答案 添加 Contacts.framework #impor
我想以编程方式在我的应用程序中创建联系人,并使用苹果联系人框架将其保存到实际联系人中。我可以创建一个包含名字、姓氏甚至日期的模板。 我从开始 let contact = CNMutableContac
似乎无法从 CNContactStore 获取组。 CNContactStore 使用需要组标识符来获取组的谓词。 CNContact 没有任何方法可以找出它所在的组(我可以找到)。 文档中是否缺少某
我正在使用 UNNotificationServiceExtension 将通知中的电话号码替换为姓名。我正在尝试在 CNContactStore 中查找电话号码,并将 Ph# 替换为联系人姓名。 我
这是我获取设备的联系人并保存到 MutableArray 的代码。 但我需要单独获取所有联系人的 recordID 并保存到同一个数组中以供进一步使用。 (例如,使用 recordId 删除联系人)。
我正在尝试删除我的应用程序的 URL 冗余。如果单个联系人有多个 URL,这很有效。但是如果有链接的联系人,通常保存操作会失败并显示消息 “操作无法完成。(CNErrorDomain 错误 2。)”
我正在构建一个 UI 来请求访问 CNContactStore 并处理用户之前(并且可能错误地)拒绝访问的情况。当我检测到当前状态为 .denied 时,我会显示一个 UIAlertControlle
尝试保存已填充社交资料数据的联系人时遇到以下错误:这在 iOS 9.2 中出现 Domain=CNErrorDomain,Code=500 "(null)" UserInfo={CNKeyPaths=
我正在寻找一种方法来获取与联系人容器 ( CNGroup ) 相关的组列表 ( CNContainer )。当我使用 predicate它失败。 我使用的代码是 func populateGroups
目前我正在使用这段代码从 iPhone 中获取联系人 CNContactStore *store = [[CNContactStore alloc] init]; [store reques
我是一名优秀的程序员,十分优秀!