swift – CallKit CallDirectory扩展中出错
发布时间:2020-12-14 04:34:32 所属栏目:百科 来源:网络整理
导读:即时通讯在我的iOS项目中实现callKit,我使用callDirectory扩展来阻止和识别Numbers,块部分工作正常,唯一的问题是当我尝试添加要识别的数字时: private func retrievePhoneNumbersToIdentifyAndLabels() - (phoneNumbers: [String],labels: [String])? { //
即时通讯在我的iOS项目中实现callKit,我使用callDirectory扩展来阻止和识别Numbers,块部分工作正常,唯一的问题是当我尝试添加要识别的数字时:
private func retrievePhoneNumbersToIdentifyAndLabels() -> (phoneNumbers: [String],labels: [String])? { // retrieve list of phone numbers to identify,and their labels interDefaults?.synchronize() if let numbers = interDefaults!.string(forKey: "ident-numbers"){ if let identities = interDefaults!.string(forKey: "ident-identities"){ let formattedNumbers = numbers.characters.split{$0 == "*"}.map(String.init) let formattedIdent = identities.characters.split{$0 == "*"}.map(String.init) return (formattedNumbers,formattedIdent) } } return ([""],[""]) } 当我尝试重新加载扩展时它失败并出现错误:Error Domain = com.apple.CallKit.error.calldirectorymanager Code = 3“(null)” 通过一些测试,我发现通过用1个元素EXP:[“Spamm Caller”]的数组替换formattedIdent,扩展工作完美并且没有显示错误,但是当我使用具有多个元素的数组时,同样的错误显示出来. 解决方法
我有类似的问题但我犯的错误是错误代码4.所以我挖掘了CXErrors并找到了这个枚举.
public enum Code : Int { public typealias _ErrorType = CXErrorCodeCallDirectoryManagerError case unknown case noExtensionFound case loadingInterrupted case entriesOutOfOrder case duplicateEntries case maximumEntriesExceeded case extensionDisabled @available(iOS 10.3,*) case currentlyLoading @available(iOS 11.0,*) case unexpectedIncrementalRemoval } 所以基本上未知==代码0和其他选项增加一个.这是您的分机在此日期之前尝试处理新数据时可以收到的错误的完整列表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |