Answers:
Xcode 11.4更改了框架的链接和嵌入式方式,您可能会遇到在iOS设备和模拟器之间切换的问题。Flutter v1.15.3和更高版本将自动迁移您的Xcode项目。
要避免卡住,请按照以下说明进行操作;
rm -rf ios/Flutter/App.framework
官方推荐的手动迁移步骤
如下更改Runner目标构建设置Build Phases> Thin Binary脚本:
/ bin / sh嵌入“ $ FLUTTER_ROOT / packages / flutter_tools / bin / xcode_backend.sh”
/ bin / sh“ $ FLUTTER_ROOT / packages / flutter_tools / bin / xcode_backend.sh”薄
在Runner目标中,“ 构建设置”>“其他链接器标志”
(OTHER_LDFLAGS)添加$(继承)-framework Flutter
希望能帮助到你!
更新到Xcode 11.4。iOS 13.4,IphoneX。应用程序仅使用API提取数据。应用在白屏上启动,然后最终在模拟器和设备上崩溃。
我遵循了官方指南(我也rm -rf ios/Flutter/App.framework
)
flutter.dev/docs/development/ios-project-migration。我跑了好几次flutter clean
我还尝试删除Pods /文件夹和Podfile.lock,然后pod install
在ios文件夹中使用重新安装。
当我使用异步数据时,我也在main()中添加为第一行
WidgetsFlutterBinding.ensureInitialized();
没有帮助,应用程序没有启动任何一个模拟器。
然后我删除ios/
和android/
文件夹。之后,在项目文件夹中,我运行flutter create .
了重新生成提到的文件夹的命令。
在此之后,我的应用在模拟器和设备上均正常运行。我希望这会对其他人有所帮助。注意!!如果您手动修改了这些文件夹,请事先进行备份或提交。
经过几天的尝试,找到了一种在iOS设备上测试Flutter应用程序的解决方案,我终于找到了这一点:
flutter clean
flutter build ios
-打开xCode并在您的设备上运行应用程序。
flutter build ios
我已经在flutter的官方网站上尝试了该解决方案,但该解决方案对我不起作用,因此我找到了一个对我有用的临时解决方案,但是这使我付出了一些辛苦的工作:这是我的新项目stick_framework的示例新项目(首次在模拟器上运行)
我在flutter项目中创建了2个文件夹,分别为
“ ios_simulator”和“ ios_real_device”。
在此处输入图片说明
现在,我的第一个构建是针对模拟器的,然后我想切换到真实设备,将Flutter项目中的ios文件夹移至“ ios_simulator”