iOS使用CXCallObserver监听电话接听与拨打

初始化

Swift 复制代码
import CallKit

class HomeViewController: UIViewController, CXCallObserverDelegate {
    public var cacheManager: TripCacheManager = TripCacheManager.init()

    override func viewDidLoad() {
        super.viewDidLoad()
        self.callObserver.setDelegate(self, queue: DispatchQueue.main)
    }
}

状态监听

Swift 复制代码
func callObserver(_ callObserver: CXCallObserver, callChanged call: CXCall) {
    print("call observer uuid: \(call.uuid)")
    print("outgoing(拨打):\(call.isOutgoing) onHold(待接通):\(call.isOnHold) hasConnected(接通):\(call.hasConnected) hasEnded(挂断):\(call.hasEnded)")
    }
}

该方法不能通过单一状态来判断当前状态,建议进行多值的判断。

取消监听

Swift 复制代码
self.callObserver.setDelegate(nil, queue: DispatchQueue.main)
相关推荐
鸿蒙布道师10 小时前
鸿蒙NEXT开发资源工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
season_zhu12 小时前
iOS开发:关于路由
ios·架构·swift
鸿蒙布道师15 小时前
鸿蒙NEXT开发设备相关工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
熊猫鹏-梓潼17 小时前
Swift Programming All in One苹果程序开发自学之路
开发语言·ios·swift
njsgcs1 天前
用swift playground写个ios应用和大模型或者网站交互
ios·swift
leluckys1 天前
swift-11-init、deinit、可选链、协议、元类型
开发语言·ios·swift
njsgcs1 天前
vscode swift hello world
开发语言·ios·swift
YungFan1 天前
SwiftUI-MLX本地大模型开发(三)
ios·llm·swiftui
请叫我飞哥@1 天前
Apple ID授权登入
ios·swiftui
weixin_452093252 天前
关于apple ios苹果mdm监管锁的漏洞与修复
ios