有人尝试过将CallKit
与SwiftUI
一起使用吗?谁能给我任何指示,无论是否可行? CallKit
与UIKit
的搭配效果很好,但是,我还没有看到SwiftUI
实现的任何此类功能。
如何实现CallKit:SwiftUI
•
问答
ks_xpd 回答:如何实现CallKit:SwiftUI
亲爱的朋友,使用CallKit
或Swift
实现swiftUI
时并没有什么不同
在CallKit
或Swift
中创建SwiftUI
扩展名时,两者是相同的。您还会在下面的代码中注意到这一点。
因此,您也可以引用Swift代码在SwiftUI中实现CallKit
。
SwiftUI CallKit扩展:
class CallDirectoryHandler: CXCallDirectoryProvider {
override func beginRequest(with context: CXCallDirectoryExtensionContext) {}
private func addAllBlockingPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
private func addOrRemoveIncrementalBlockingPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
private func addAllIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
private func addOrRemoveIncrementalIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
}
extension CallDirectoryHandler: CXCallDirectoryExtensionContextDelegate {
func requestFailed(for extensionContext: CXCallDirectoryExtensionContext,withError error: Error) {}
}
Swift 5.0 CallKit扩展
class CallDirectoryHandler: CXCallDirectoryProvider {
override func beginRequest(with context: CXCallDirectoryExtensionContext) {}
private func addAllBlockingPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
private func addOrRemoveIncrementalBlockingPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
private func addAllIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
private func addOrRemoveIncrementalIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) {}
}
extension CallDirectoryHandler: CXCallDirectoryExtensionContextDelegate {
func requestFailed(for extensionContext: CXCallDirectoryExtensionContext,withError error: Error) {}
}