2025/10/15 14:16:11
如何解决 Flutter 上 iOS release 包初始化时报 symbol not found 的问题?
问题现象
在 Flutter 上打包出 iOS release 包时,初始化卡住,Xcode 报错 Unhandled exception: Invalid argument(s): Failed to lookup symbol 'InitDartApiDL': dlsym(RTLD_DEFAULT, InitDartApiDL): symbol not found
。
问题原因
这个问题是由于 Flutter 在构建 Release 包时,会进行符号裁剪优化,引起 simbol not found
报错。详细信息可以参考 Flutter 官方文档。
解决方案
你可以通过如下步骤解决该问题:
-
在 Xcode 项目的 Build Settings 中,找到 deployment postprocessing,将其设为 Yes。
-
再在 Build Settings 下找到 strip style,然后将 Release 设为 Non-Global Symbols。