如何调用 Call Directory Extension 的 `beginRequest`?
How to call `beginRequest` of Call Directory Extension?
我必须测试呼叫阻止和识别。所以我按照以下步骤操作。
(1) 通过 [文件] > [新建] > [目标] 在我的项目中创建一个呼叫目录扩展。
(2) 在呼叫目录扩展中添加一个日志记录以进行测试。
class CallDirectoryHandler: CXCallDirectoryProvider {
override func beginRequest(with context: CXCallDirectoryExtensionContext) {
print("test")
}
}
(3) 在我的项目中调用CallKit的reload函数
CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: "EXTENSION_BUNDLE_IDENTIFIER", completionHandler: { (error) in
if let error = error {
print(error.localizedDescription)
} else {
print("success")
}
})
(4) 检查我的应用程序是否已在 Settings > Phone > Call blocking & identification
.
中启用
并且 success
of 3 被打印出来了,但是 test
of 2 没有被打印出来。
有什么我应该检查的吗?
提前致谢。
我认为它被正确调用,因为您可以检查应用目标沙箱上的响应。
在这种情况下,我知道访问日志的唯一方法是进入 Xcode 的 设备 window 并查看device console
,您应该能够看到这样的日志:
com.apple.CallKit.CallDirectory: ...
您也可以尝试通过在这一行直接放置断点来调试它:
print("test")
另请查看教程,了解您的扩展程序和应用程序沙箱之间的设置是否有任何问题,这里有一个很好的教程:https://pusher.com/tutorials/callkit-ios-part-1
我必须测试呼叫阻止和识别。所以我按照以下步骤操作。
(1) 通过 [文件] > [新建] > [目标] 在我的项目中创建一个呼叫目录扩展。
(2) 在呼叫目录扩展中添加一个日志记录以进行测试。
class CallDirectoryHandler: CXCallDirectoryProvider {
override func beginRequest(with context: CXCallDirectoryExtensionContext) {
print("test")
}
}
(3) 在我的项目中调用CallKit的reload函数
CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: "EXTENSION_BUNDLE_IDENTIFIER", completionHandler: { (error) in
if let error = error {
print(error.localizedDescription)
} else {
print("success")
}
})
(4) 检查我的应用程序是否已在 Settings > Phone > Call blocking & identification
.
并且 success
of 3 被打印出来了,但是 test
of 2 没有被打印出来。
有什么我应该检查的吗?
提前致谢。
我认为它被正确调用,因为您可以检查应用目标沙箱上的响应。
在这种情况下,我知道访问日志的唯一方法是进入 Xcode 的 设备 window 并查看device console
,您应该能够看到这样的日志:
com.apple.CallKit.CallDirectory: ...
您也可以尝试通过在这一行直接放置断点来调试它:
print("test")
另请查看教程,了解您的扩展程序和应用程序沙箱之间的设置是否有任何问题,这里有一个很好的教程:https://pusher.com/tutorials/callkit-ios-part-1