Flutter iOS TestFlight部署后TextFormField不显示问题求助
排查步骤:
检查Tree Shaking/代码优化配置
Flutter release模式默认开启Tree Shaking,可能误移除了TextFormField相关依赖。临时关闭测试:在ios/Flutter/Release.xcconfig中添加FLUTTER_TREE_SHAKING=false,重新打包上传TestFlight验证。如果问题解决,需在pubspec.yaml中添加必要的保留规则,避免核心控件被优化。验证字体加载问题
调试与release模式的字体加载逻辑有差异。确认pubspec.yaml中字体声明正确,iOS打包时字体文件已被包含。可临时将TextFormField的字体切换为系统默认字体测试:TextFormField( style: TextStyle(fontFamily: '.SF UI Text'), // ...其他配置 )检查iOS隐私权限配置
即使TextFormField无需特殊权限,缺失基础隐私声明也可能导致UI渲染异常。确认Info.plist中已添加必要权限(如用到相机/相册时的对应声明),哪怕未用到,补全基础项也能避免潜在问题。抓取TestFlight版本日志
用Xcode连接安装了TestFlight版本的设备,通过Window > Devices and Simulators查看设备日志,或执行flutter logs命令获取实时输出,重点排查渲染错误、资源加载失败类报错(如字体找不到、布局约束异常)。对比编译配置差异
检查ios/Podfile和Runner.xcworkspace的release模式编译设置,比如是否开启了Fastest, Smallest [-Os]优化等级,可临时调低优化等级重新打包,验证是否是过度优化导致的问题。
运行效果对比
- Android端:

- iOS端:

内容的提问来源于stack exchange,提问作者Sourav Cv

