1、如何创建6大平台应用(windows,macos,linux,ios,android,web)
如何通过图形界面创建,默认是勾选了6大平台。发现创建后,只有ios,android,web三个平台
解决办法,通过命令行之前创建 create my_app_1 --platforms=windows,macos,linux,ios,android,web
All done! 6大平台壳工程都用了
而且还有学习资料 You can find general documentation for Flutter at: docs.flutter.dev/ Detailed API documentation is available at: api.flutter.dev/ If you prefer video documentation, consider: www.youtube.com/c/flutterde…
如果你通过flutter run命令运行iOS平台,还会遇到证书的错误
证书这块建议您使用自动签名,避免麻烦的导出,这个非常简单,只需要两步
- 新建测试bundle id
- 增加设备
1、Flutter_SDK/flutter_SDK_3.7.11/packages/flutter_tools/bin/podhelper.rb
2、Target->Runner->Build Phases->Run Script /bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
3、iOS->Flutter->Generated.xcconfig
2、报错现象(找不到参数或方法找不到)
解决办法:
- 从报错上看是flutter相关的库报错,大概率是Flutter版本不一致造成
- 切换正确的Flutter版本号
- 本地切换
- 工具切换
本地切换
-
Flutter 版本
-
Dart 版本
如果已确认Flutter 版本没有问题,扔报错,可能是库依赖的版本太新或太旧导致的,根本原因是模糊依赖造成的版本依赖错误。可以通过找到依赖库->降级或升级版本号解决。(flutter 工程pubspec.yaml的依赖版本控制没有指定版本,可能是允许更新到新版本导致的不兼容)
解决办法
- 找到报错的仓库,确实依赖的版本控制
- 降低或升级仓库依赖的版本或指定仓库的依赖
示例:
Flutter Error: The getter 'draggableProgressBar' isn't defined for the class 'ChewieController'.
找到版本更新记录 pub.dev/packages/ch… 确认依赖的版本号
工程中的错误写法
3、报误现象(找不到目录)
解决办法
- 从报错上看是项目应用的dio库的版本造成的
- 检查一下dio的版本,发现版本依赖的不是5.3.2的版本,大概率是曾经切换过其他项目或分支,有缓存造成的
- 清理缓存:
- 办法1 执行下 flutter clean (暂未尝试)
- 办法2 报错已很明显,删除缓存目录
- 1、找到路径,删除缓存【在Mac中,Flutter的.pub-cache路径是/Users/[你的用户名]/.pub-cache】
- 2、执行pug get
- 3、执行run 【中间可能有多次报错,不要管,可能是网络的拉取的问题】
- 4、最终工程跑起来
4、flutter type 'Null' is not a subtype of type 'IOSApp' of 'app'
- 这种情况通常发生在,运行iOS 设备但还没有跑起来,就终止报出来的错误。通常和环境有关,最终是可以run起来的。
5、iOS 报签名错误
No Provisioning Profile was found for your project‘s Bundle Identifier or your device
- 证书没有问题
- 可能是缓存问题
- 执行 flutter clean 清理缓存 更多见:blog.csdn.net/adojayfan/a…
6、IOS&Flutter:dyld: Library not loaded: @rpath/App.framework
iOS本地依赖Flutter源码运行App,在真机上报错:flutter Library not loaded: '@rpath/App.framework/App'
在iOS工程中找到 Target Support Files -> Pods-xxx -> Pods-xxx-frameworks
手动增加 install_framework App.framework
重新编译就可以正常跑起来了。
此种解决方式存在弊端:每次工程进行pod install以后Pods-xx-frameworks.sh 文件将会被重置,添加的代码会被删除。基本可以断定是Ruby 或 CocoaPods 不兼容导致的,网上有尝试 更新Ruby 或 CocoaPods 的版本,有可能会解决。本人未尝试,如果你有好的解决办法,欢迎留言。
flutter issue github.com/flutter/flu…
CocoaPods issue github.com/CocoaPods/C…
7、升级 xcode15.1
1、run iOS17的设备 报 Could not run build/ios/iphoneos/Runner.app Could not run build/ios/iphoneos/Runner.app on xxx. Try launching Xcode and selecting "Product > Run" to fix the problem: open ios/Runner.xcworkspace
Error launching application on xxx的iPhone.
根本原因是IOS17和Xcode的配置变化引起的,需要更新Flutter的SDK版本到3.13以上就可以解决。【暂未尝试】 blog.csdn.net/adojayfan/a…
2、Xcode15 Library ‘iconv.2.4.0‘ not found blog.csdn.net/wyz67008395…
3、xcode15 Assertion failed: (aliasSectionNum == sectionNum && "alias and its target must be located in the same section"), function assignAliasAtomOffsetInSection, file Layout.cpp, line 3248. blog.csdn.net/wyz67008395…