当他们已经是联系人时,使用 CallKit 识别来电者

Identify incoming callers with CallKit when they are already contacts

我正在创建一个应用程序来跟踪朋友之间的欠款。我想创建一个功能,如果那个人欠你钱,来电将显示警告。

我正在使用 Apple 提供的方法来识别来电者:

class CustomCallDirectoryProvider: CXCallDirectoryProvider {
    override func beginRequest(with context: CXCallDirectoryExtensionContext) {
        let labelsKeyedByPhoneNumber: [CXCallDirectoryPhoneNumber: String] = [ … ]
        for (phoneNumber, label) in labelsKeyedByPhoneNumber.sorted(by: <) {
            context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label)        
        }

        context.completeRequest()
    }
}

到目前为止,这对来电非常有效。但是,如果来电者已在用户的联系人列表中,则该姓名将显示,而我们的信息将不会显示。

有没有办法在来电者在用户的联系人列表中时显示我们的合同信息?

不,来自 CallKit 标识扩展的数据仅在与现有联系人不匹配时才使用。