升级Xcode 12后出现'Messaging'类型无'shouldEstablishDirectChannel'成员错误
报错触发原因
该报错由Firebase Cloud Messaging (FCM) SDK版本迭代导致:从v6.31.0版本开始,FCM官方正式移除了shouldEstablishDirectChannel相关公开API,旧版本的调用代码和高版本SDK不兼容,就会出现这个编译错误。
修复方案
按你的项目需求二选一即可:
- 临时快速修复:将Podfile中Firebase/Messaging的版本锁定到6.30.0或更低版本,执行
pod update后原有代码可正常运行 - 适配最新版SDK:直接删除报错行
Messaging.messaging().shouldEstablishDirectChannel = true即可。新版FCM SDK已经默认在收到APNs设备token后自动建立和FCM服务的长连接,无需开发者手动开启该配置。
额外校验点
适配新版SDK后,只需要确保项目已正确开启推送能力、上传了匹配的APNs证书到Firebase控制台,即可正常接收FCM推送,不需要补充其他额外配置。
内容的提问来源于stack exchange,提问作者soumya
相关产品推荐
相关产品推荐

