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

Expo集成AWS Amplify APNs推送通知时出现依赖找不到错误

解决Amplify推送通知报错:Notifications [Error: Unable to find @aws-amplify/rtn-push-notification. ]

针对你用Expo 49 + Amplify 5.3.11配置APNs推送时遇到的这个错误,以下是针对性的排查和解决步骤:

  • 确认Expo原生模块支持
    @aws-amplify/rtn-push-notification是原生模块,Expo Go无法加载这类自定义原生依赖。必须执行预构建生成原生项目文件:

    npx expo prebuild --clean
    

    之后用npx expo run:ios启动项目,而非npx expo start(Expo Go模式)。

  • 校验依赖安装与版本兼容性

    1. 执行以下命令确认包已正确安装到项目根依赖:
      npm list @aws-amplify/rtn-push-notification
      
      如果输出显示包嵌套在其他依赖下,说明安装异常,需重新安装。
    2. 确保aws-amplify与rtn-push-notification版本匹配:Amplify 5.x系列需搭配1.x版本的rtn-push-notification,你当前的1.1.7理论上兼容5.3.11,但可尝试锁定更稳定的匹配版本,比如:
      npm install @aws-amplify/rtn-push-notification@1.1.10 aws-amplify@5.3.11 --save-exact
      
  • 检查Amplify初始化代码
    必须在Amplify全局配置前,显式导入并初始化PushNotification模块,否则Amplify无法识别原生模块:

    import { Amplify } from 'aws-amplify';
    import { PushNotification } from '@aws-amplify/rtn-push-notification';
    import awsconfig from './aws-exports';
    
    // 先初始化推送模块
    PushNotification.configure();
    // 再配置Amplify全局
    Amplify.configure(awsconfig);
    
  • 彻底清理并重建依赖
    执行以下命令完成全量清理,避免缓存或依赖残留问题:

    rm -rf node_modules package-lock.json
    npm cache clean --force
    npx expo install --fix
    cd ios && pod install && cd ..
    
  • iOS原生配置检查
    预构建后打开Xcode项目:

    1. 确认Pods目录下存在@aws-amplify/rtn-push-notification,若缺失,重新执行pod install。
    2. 在项目的Signing & Capabilities中添加Push Notifications能力,并配置好对应的APNs证书。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:26:15