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

XCode 14构建错误:无法用@available标记存储属性为潜在不可用

解决react-native-stripe iOS构建错误:Stored properties cannot be marked potentially unavailable with '@available'

这个错误通常是@stripe/stripe-react-native库版本与iOS部署目标、Xcode版本不兼容,或是库内部存在语法兼容问题导致的,以下是几个可行的解决步骤:

  • 更新到最新稳定版库
    旧版本的stripe-react-native可能存在这个iOS语法兼容bug,执行命令更新库:

    npm install @stripe/stripe-react-native@latest
    # 或使用yarn
    yarn add @stripe/stripe-react-native@latest
    

    更新后进入ios目录执行pod install,再尝试构建项目。

  • 确认iOS部署目标版本
    stripe-react-native对iOS最低版本有要求(当前一般需要iOS 13.0及以上),检查并修改:

    1. 打开Xcode,选中项目target,在"General"标签下确认"Deployment Info"的iOS版本不低于要求;
    2. 或者修改ios/Podfile中的platform :ios, '13.0',保存后执行pod install。
  • 清理构建缓存
    缓存残留可能导致旧代码干扰,执行以下操作:

    1. 关闭Xcode;
    2. 删除Derived Data(路径可通过Xcode -> Preferences -> Locations查看);
    3. 进入ios目录执行pod deintegrate && pod install;
    4. 重新打开Xcode并构建项目。
  • 升级Xcode版本
    低版本Xcode对新Swift语法支持不足,确保你的Xcode版本符合库的要求(建议使用Xcode 14.0及以上版本),前往App Store或Apple开发者官网下载最新兼容版本。

  • 临时修复库代码(仅作为最后手段)
    如果上述方法都无效,可手动修改报错的stripe库文件:
    找到报错的.swift文件(Xcode报错信息会显示路径),将带有@available标记的存储属性改为计算属性。例如:
    原代码:

    @available(iOS 14.0, *)
    private let someProperty: SomeType
    

    修改为:

    @available(iOS 14.0, *)
    private var someProperty: SomeType {
        return SomeType(/* 原初始化参数 */)
    }
    

    注意:这种修改会在下次更新库时被覆盖,仅作为临时解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:15:47