You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Xcode13 RC及最新RevenueCat后watchOS应用Purchases无法使用求助

解决方案

核心报错根因

你遇到的'PurchaserInfo' is not a member type of class 'RevenueCat.Purchases'错误是RevenueCat v4.0+版本的API不兼容变更导致的:该版本正式将原本的PurchaserInfo类重命名为CustomerInfo,旧命名被完全移除。
iOS端编译无报错是因为你的统一购买类没有被加入iOS端的编译源,或者iOS端的依赖缓存仍停留在v4.0之前的旧版本,没有触发API校验。

可执行修复步骤

  • 第一步:替换废弃API命名
    全局替换项目中所有Purchases.PurchaserInfo引用为CustomerInfo。如果需要同时兼容旧版RevenueCat,可以添加兼容层宏定义:
    import RevenueCat
    
    // 旧版兼容别名
    typealias PurchaserInfo = CustomerInfo
    
  • 第二步:校验Watch Extension依赖配置
    1. 确认Watch Extension的部署目标版本 ≥ watchOS 6.2,这是RevenueCat v4.0+支持的最低watchOS版本
    2. 如果你使用Swift Package Manager引入依赖:打开项目配置 > Watch Extension目标 > General > Frameworks, Libraries, and Embedded Content,确认RevenueCat存在且状态为Do Not Embed
    3. 如果你使用CocoaPods引入依赖:确认Podfile中明确给Watch Extension的target添加了RevenueCat声明,示例:
    target '你的Watch Extension名称' do
      platform :watchos, '6.2'
      use_frameworks!
      pod 'RevenueCat'
    end
    
    配置修改后执行pod install --repo-update重新生成项目配置
  • 第三步:消除诊断文件告警
    你遇到的Invalid diagnostics signature是Xcode 13 RC的已知bug,完整操作清理即可解决:
    1. 关闭Xcode
    2. 执行终端命令删除全量缓存:rm -rf ~/Library/Developer/Xcode/DerivedData
    3. 重启Xcode,按住Option键点击菜单栏的Product > Clean Build Folder,之后重新编译即可

额外校验点

打开Xcode项目导航栏的Package Dependencies分组,确认RevenueCat的版本号在所有平台下一致,避免出现多端拉取不同版本依赖的异常情况。


内容的提问来源于stack exchange,提问作者Yrb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:36:04