我正在开发具有被阻止号码数据库的应用。
下面是我检索数字,对数字进行排序并调用addBlockingEntry(withNextSequentialPhoneNumber:)
的{{1}}方法的代码:
CXCallDirectoryExtensionContext
重新加载扩展名时,错误内容为private func addAllBlockingPhoneNumbers(to context: CXCallDirectoryExtensionContext) {
// Retrieve all phone numbers to block from data store. For optimal performance and memory usage when there are many phone numbers,
// consider only loading a subset of numbers at a given time and using autorelease pool(s) to release objects allocated during each batch of numbers which are loaded.
var allPhoneNumbers: [Int64] = []
if let numbers = PhoneNumber.fetchAll(context: ctx){
for number in numbers {
if allPhoneNumbers.contains(number.number) == false {
allPhoneNumbers.append(number.number)
}
}
}
for phoneNumber in allPhoneNumbers.sorted(by: <) {
context.addBlockingEntry(withNextSequentialPhoneNumber: phoneNumber)
}
}
,因此它应该可以正常工作。
iPhone SE(iOS 12.2),iPhone 7(iOS 12.4.1和iOS 13.1.3)和iPhone 8(iOS 13.1.2和13.1.3)上的入站呼叫已按预期被阻止,但是在iPhone XS / XS上最多允许(iOS 13.1.2和iOS 13.1.3)通过。