插件不在iOS上编译 - 在Android上运行

时间:2018-04-28 16:36:08

标签: flutter

我正在尝试使用一些Flutter软件包 - 特别是“share”(将应用内容发送到其他应用)和“url_launcher”(链接到应用外部的网站)。 [我认为我的问题不是任何一个包中的错误,因为它们适用于其他人,并且它们在我的构建问题中表现出相同的根问题]

设置这些并在Android模拟器和设备上工作正常 - 运行和工作“如宣传的那样”。

但是当我试图让iOS端工作时,我遇到了问题。当我去构建/启动时,我收到这样的消息......

Launching lib/main.dart on iPhone X in debug mode...
Skipping compilation. Fingerprint match.
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 ===
/Users/bruce/repos/ex_app/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error: 'share/SharePlugin.h' file not found
#import <share/SharePlugin.h>
^~~~~~~~~~~~~~~~~~~~~
1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone X.
Exited (sigterm)

...当我在XCode中打开应用程序时,我看到了同样的问题......

enter image description here

...要求的代码文件在项目中不存在......

enter image description here

...如果我删除这些软件包并在没有它们的情况下运行,那么构建在iOS上可以从'flutter run'和XCode运行。

如果此代码在其他地方加载,看起来我错过了一个基本路径?或者“pub”没有加载他们应该在项目中的文件?

有关调试此后续步骤的任何想法吗?

1 个答案:

答案 0 :(得分:0)

我这个问题的懒惰解决方案是创建一个全新的Flutter应用并将我的自定义代码迁移过来。如果再次发生这种情况,我会花更多的时间来看看&#34;差异&#34;看看解决方案之间可能发生了什么变化。

有不同版本的Flutter和不同版本的Cocoapods,其中一个中期开发更新可能导致了这个问题。

我确实保存了#34; flutter create&#34;我使用的命令(包括&#34; org&#34;开发环境(特别是对iOS特别重要)开发环境(使用Swift和Java)描述和名称)。

我还使main.dart文件变得简单......

void main() {
  runApp(new MyApp());
}

...这样我就可以通过一些参考资料轻松连接整个应用程序。

我正在尝试跟踪iOS / Android应用程序的任何手动更新(例如图标,Podfiles,Firebase引用等),以便在必要时也可以轻松更新。