Flutter 在iOS26上闪退 error: mprotect error: 13 (Permission denied)

背景:开始适配iOS26

Flutter:2.22
xcode 26.2
iOS 26
Flutter为内嵌模块

virtual_memory_posix.cc: 412: error: mprotect error: 13 (Permission denied)

flutter_boost 用 xcode26 debug 环境在 iOS26 上运行崩溃

github上有解释,可以参考一下:
https://github.com/flutter/flutter/issues/163984?utm_source=chatgpt.com
https://github.com/alibaba/flutter_boost/issues/2231
因为项目的一些原因,稳定为先,我采用的是debug也采用release构建模式
针对内嵌module接入的配置如下:

步骤 1:打开你的 OC 项目工程

双击打开你的 OC 项目主工程文件(比如YourOCProject.xcodeproj或YourOCProject.xcworkspace),而非 Flutter 模块里的文件。

步骤 2:为 OC 项目的 Target 添加 FLUTTER_BUILD_MODE

在 Xcode 左侧导航栏选中你的 OC 项目 Target(比如叫OCApp,即嵌入 Flutter 的那个 Target);
切换到Build Settings标签页 → 勾选右上角All + 取消Sort by Category;
滚动到最下方User-Defined分组 → 右键空白处选择Add User-Defined Setting;
新增配置项:
名称:FLUTTER_BUILD_MODE(大小写必须一致);
为不同编译列赋值:
Debug 列:debug(小写);
Release 列:release(小写);
Profile 列:profile(小写)。

步骤 3:切换 OC 项目的编译配置(控制 Flutter 模式)

点击 Xcode 顶部Product → Scheme → Edit Scheme(快捷键Command + <);
左侧选择Run → 右侧Info标签页 → 找到Build Configuration下拉框:
选Release → 运行时 Flutter 模块以 Release 模式编译;
选Profile → 以 Profile 模式编译;
选Debug → 恢复 Debug 模式;
点击Close保存,直接运行 OC 项目即可生效。

如图


image.png

亲测有效

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容