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

Flutter集成OneSignal在iOS17(Xcode15)运行时报错

解决OneSignal框架找不到及链接器错误的方案

针对你在Xcode 15中使用onesignal_flutter ^5.0.1遇到的Framework 'OneSignal' not found和链接器退出码1错误,可按以下步骤排查修复:

1. 彻底清理缓存与旧构建文件

  • 删除项目根目录下的Pods文件夹、Podfile.lock文件,以及iOS目录下的Runner.xcworkspace
  • 执行命令清理Flutter和CocoaPods缓存:
    flutter clean
    rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace
    rm -rf ~/Library/Caches/CocoaPods
    

2. 重新安装Pods并确认配置

确保Podfile中已正确配置pod 'OneSignalXCFramework', '>= 5.0.0', '< 6.0',且将use_frameworks!替换为静态链接模式(OneSignal 5.x推荐):

use_frameworks! :linkage => :static

然后进入iOS目录执行更新安装:

cd ios
pod install --repo-update

3. 检查Xcode项目的框架引用

  • 打开ios/Runner.xcworkspace,进入Runner目标的Build Phases → Link Binary With Libraries
  • 移除旧的OneSignal.framework引用(若存在),确认仅保留OneSignalXCFramework
  • 检查Build Settings → Framework Search Paths,确保包含$(inherited)和Pods/OneSignalXCFramework路径

4. 适配Xcode 15链接器变更

Xcode 15的链接器规则有调整,可做以下设置:

  • 在Runner目标的Build Settings → Other Linker Flags中添加-ld64,强制使用旧版链接器
  • 将Build Settings → Enable Bitcode设置为No(OneSignal 5.x不支持Bitcode)

5. 重新拉取依赖并构建项目

执行以下命令确保依赖同步,再重新运行项目:

flutter pub get
flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:15:53