即时通讯在我的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 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。