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

Flutter集成OneSignal:iOS端Xcode提示找不到OneSignalExtension模块

iOS端OneSignal推送编译报错:No such module 'OneSignalExtension' 解决方案

可能的原因及解决步骤

1. 检查并更新Pod依赖

打开iOS项目的Podfile,确认是否包含Notification Service扩展的OneSignal依赖配置:

target 'OneSignalNotificationServiceExtension' do
  use_frameworks!
  pod 'OneSignalXCFramework', '>= 5.0.0'
end

进入ios目录执行:

pod install

如果已有配置,执行pod update确保依赖是最新版本。

2. 修正Extension目标的Build Settings

在Xcode中选中OneSignalNotificationServiceExtension目标:

  • 进入Build Settings,搜索Framework Search Paths,确认包含$(inherited)和$(PROJECT_DIR)/Pods/OneSignalXCFramework
  • 搜索Other Linker Flags,确保添加了-ObjC

3. 替换过时的OneSignalExtension引用

OneSignal 5.x+版本已弃用OneSignalExtension模块,需修改代码:

  • 将import OneSignalExtension替换为import OneSignal
  • 修改方法调用:
    // 替换原didReceive中的调用
    OneSignal.didReceiveNotificationExtensionRequest(receivedRequest, with: bestAttemptContent, withContentHandler: contentHandler)
    
    // 替换原serviceExtensionTimeWillExpire中的调用
    OneSignal.serviceExtensionTimeWillExpireRequest(receivedRequest, with: bestAttemptContent)
    

4. 清理项目后重新编译

  • Xcode中执行Product > Clean Build Folder
  • 终端执行flutter clean && flutter pub get,再重新打开iOS项目编译

内容的提问来源于stack exchange,提问作者Adam O'Neill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:52:20