Flutter 的 iOS 目标是 Runner、插件再加上 Dart 快照。小蟹 v1.6 把 Dart 和 ObjC/Swift Runner 一起纳入改名、膨胀和常量加密。风险通常不是「Dart 不能动」,而是动到了引擎和插件运行时仍要按字符串去找的约定。

Channel 先稳住

MethodChannel 名、通知名、插件用字符串调用的 @objc 选择子必须保持。把这些名字放进排除列表(按文件或按语言)。某个插件基类需要保持可读时,用按继承链排除。

资源和 Runner

Runner 里的 Asset Catalog 在 IPA 里直接可见。两款 Flutter 客户端如果目录名和 AppIcon 文件夹相同,看起来就有关联。小蟹的资源流程可以改名加密;混淆之前仍应给每个产品自己的图标和显示名。见 Flutter iOS 混淆

混编也很常见:原生壳 + Flutter 模块。这时不要只对模块或只对壳各做一半配置,应把整个可提交的 Xcode 工程交给工具,再按模块边界做排除。Dart 侧和原生侧的符号表都要能对上,崩溃才能还原,详见 dSYM 一文。

混淆后怎么调

支持在 Xcode 调试混淆后的二进制。请用接近 Release 的构建复现。如果只有混淆后某个插件崩溃,先看工具错误列表,再排除那个原生类,而不是整棵 Dart 树。操作细节在 排除混淆设置。商店侧若是重复或残留品牌,读 4.3 / 2.3.1 两篇;崩溃链路读 dSYM 还原

申请试用,归档后即可提审

下载应用中心,选择通用版或 Uniapp 专用版,在注册码页面申请授权。文档里有逐步操作。