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)
相关推荐
刮涂层_赢大奖8 小时前
我给MAC做了一个 Windows 任务栏,用了之后再也回不去 Dock 了
windows·macos·ios
疯笔码良20 小时前
【swiftUI】实现自定义的底部TabBar组件
ios·swiftui·swift
松叶似针2 天前
Flutter三方库适配OpenHarmony【secure_application】— iOS 端原生模糊遮罩实现分析
flutter·ios·cocoa
vx-bot5556662 天前
企业微信ipad协议的会话管理机制与本地同步策略
ios·企业微信·ipad
阿捏利2 天前
详解Mach-O(十三)Mach-O __TEXT
macos·ios·c/c++·mach-o
pop_xiaoli2 天前
effective-Objective-C 第三章阅读笔记
笔记·ios·objective-c
游戏开发爱好者82 天前
完整教程:App上架苹果App Store全流程指南
android·ios·小程序·https·uni-app·iphone·webview
阿捏利3 天前
详解Mach-O(十四)Mach-O __DATA
macos·ios·c/c++·mach-o
@大迁世界3 天前
iOS 26.4 Beta 1 发布日期敲定:苹果开发者预览版何时杀到?
ios
vx-bot5556663 天前
企业微信ipad协议的多媒体消息处理与文件传输机制
ios·企业微信·ipad