升级Xcode15与iOS17后Flutter项目遇Cycle inside Runner编译错误求助
Xcode 15 + iOS 17下Flutter项目构建循环问题解决办法
以下是几个实测有效的解决方案,按优先级尝试:
调整脚本执行顺序
- 打开项目ios目录下的
Runner.xcworkspace - 选中左侧的
Runnertarget,切换到Build Phases标签页 - 找到
Thin Binary脚本,把它拖到[CP] Embed Pods Frameworks的上面 - 确保最终顺序是:
Thin Binary→[CP] Embed Pods Frameworks→[CP] Copy Pods Resources - 用
Cmd+Shift+K清理缓存后重新构建
修正OneSignal扩展的依赖关系
- 同样在
Runner的Build Phases里,找到拷贝OneSignalNotificationServiceExtension.appex的Copy Files阶段 - 检查这个阶段的依赖,确保它只依赖
OneSignalNotificationServiceExtensiontarget的构建完成,而不是错误关联到[CP] Copy Pods Resources - 要是不确定,可以先临时移除这个扩展,验证是否是它导致的循环,之后再重新配置OneSignal的扩展步骤
更新依赖和Flutter版本
- 执行命令升级Flutter到最新稳定版:
flutter upgrade - 进入ios目录,重建Pods:
cd ios pod deintegrate pod install - 确认OneSignal等第三方插件已经更新到适配Xcode 15的版本
修改Xcode构建配置
- 在Runner target的
Build Settings里,搜索CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER,把它设为NO - 搜索
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES,确保Runner和OneSignal扩展的这个设置保持一致(都设为YES或者都设为NO)
内容的提问来源于stack exchange,提问作者wahyu
相关产品推荐
相关产品推荐

