ios - Flutter.h 未找到错误
问题描述
几天前,我失去了为 iOS 构建 Flutter 应用程序的能力。我将我的 iPad 更新到 11.4,这迫使我将 xCode 更新到 9.4,而且我认为 Flutter 也有一个新版本。在我无限的智慧中,我更新了它们,现在不能再测试我的项目了。
随着最后期限的临近,我正在寻找有关如何再次行动的建议。我对 Apple 产品不太熟悉,所以还不太了解 xCode 等。
这是一个全新的“FLUTTER CREATE testproject”项目,没有对其进行任何更改。
颤振运行日志:
Launching lib/main.dart on iPad Pro (12.9-inch) (2nd generation) in debug mode...
Starting Xcode build...
Xcode build done.
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
cp: /Users/trevburley/FlutterSDK/flutter/bin/cache/artifacts/engine/ios/Flutter.framework: No such file or directory
find: /Users/trevburley/IdeaProjects/testproject/ios/Flutter/Flutter.framework: No such file or directory
Project /Users/trevburley/IdeaProjects/testproject built and packaged successfully.
Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
In file included from /Users/trevburley/IdeaProjects/testproject/ios/Runner/GeneratedPluginRegistrant.m:5:
/Users/trevburley/IdeaProjects/testproject/ios/Runner/GeneratedPluginRegistrant.h:8:9: fatal error: 'Flutter/Flutter.h' file not found
#import <Flutter/Flutter.h>
^~~~~~~~~~~~~~~~~~~
1 error generated.
Could not build the application for the simulator.
Error launching application on iPad Pro (12.9-inch) (2nd generation).
和冗长的颤振医生:
Trevs-MBP:testproject trevburley$ flutter doctor -v
[✓] Flutter (Channel beta, v0.4.4, on Mac OS X 10.13.5 17F77, locale en-GB)
• Flutter version 0.4.4 at /Users/trevburley/FlutterSDK/flutter
• Framework revision f9bb4289e9 (3 weeks ago), 2018-05-11 21:44:54 -0700
• Engine revision 06afdfe54e
• Dart version 2.0.0-dev.54.0.flutter-46ab040e58
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /Users/trevburley/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.4, Build version 9F1027a
• ios-deploy 1.9.2
• CocoaPods version 1.5.3
[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 25.0.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
[✓] IntelliJ IDEA Community Edition (version 2018.1.4)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 25.0.2
• Dart plugin version 181.4892.1
[✓] VS Code (version 1.23.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Dart Code extension version 2.13.0
[✓] Connected devices (1 available)
• iPad Pro (12.9-inch) (2nd generation) • D8D24435-C465-4403-B74F-E8DD32DDD30A • ios • iOS 11.4 (simulator)
• No issues found!
解决方案
我猜这个问题是由中断 cocoapods 安装引起的。这是修复:
- 从项目中删除ios/Flutter/Flutter.framework
pod install
在 ios 目录下运行。应生成 Flutter.framework,包括Headers/Flutter.h文件- 运行构建。现在一切都应该正常工作
虽然切换到不同的 Flutter 可能会奏效,但它并不能真正解决缓存损坏的问题。请记住,Flutter 的 master 和 beta 分支不适合生产版本。
推荐阅读
- vue.js - 如何将 v-for 与 Range 一起使用并使用 push() 添加其他输入
- angular - 使用 ej2 网格和刷新数据源网格时出现“错误类型错误:无法读取 null 的属性‘refreshUI’”
- powerapps - PowerApps 中每个月每周的第一天
- python - 我可以使用带有迭代器参数的函数生成列表吗?
- c++ - 如何在并行编程中处理 MPI_Sendrecv 中的死锁?
- postgresql - Kubernetes pod 如何连接到与主机在同一本地网络(集群外)中运行的数据库?
- java - 使用自定义类加载器的 aspectj LTW 的任何指南
- html - 如何使视频建议弹性项目与视频弹性项目高度相同?
- zabbix - Zabbix 监控两个端口中的任何一个。如果两个端口都关闭,将发送警报
- html - 将鼠标悬停在不透明度上