首页 文章

Firestore无法使用Flutter for iOS构建

提问于
浏览
1

我想将Firestore添加到Flutter应用程序,我在iOS上运行它时遇到问题 . 我已将此行添加到pubspec.yaml

cloud_firestore:^ 0.6.3

颤动更新 . 颤抖的医生说我有v0.3.1 .

在为iOS模拟器编译应用程序时,我遇到了这个构建错误

Xcode的输出:U /Users/*********/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.2.3/ios/Classes/FirebaseCorePlugin.m:7:9:致命错误:找不到'Firebase / Firebase.h'文件#import ^ ~~~~~~~~~~~~~~~~~~~~ 1生成错误

我还运行pod更新以确保它与cocoapods没有问题 .

UPDATE

经过另一项研究后,我发现删除#use_frameworks!从iOS文件夹中的Podfile中删除's project to compile. But what should be done in case when this can'?

1 回答

  • 4

    对此的更新为我提供了足够的诊断信息(希望如此) . Flutter并不擅长支持#use_frameworks&swift,但是最近(2018年中旬) . 但是,在撰写本文时,它可能尚未进入测试版 Channels .

    以前设置#use_frameworks时发生的事情是它没有将所有内容链接到正确的库中,而cocoapods错误阻止它找到某些文件 . 所有内容的最新版本都使用动态链接,但在podfile中有静态依赖关系的static_framework = true,因此他们需要的所有内容实际上都链接到了正确的位置 .

    这是在主分支/通道上修复和测试的,但是现在可能已经到了dev分支/通道 .

    以下是确保您的环境将支持此修复的步骤,从other github issue

    • 确保安装了Cocoapods 1.5.0(pod --version应该说> = 1.5.0)

    • 将您对firebase_xxx,google_sign_in或cloud_firestore插件的所有依赖项更改为最新版本(查找引用Cocoapods 1.5.0的更改日志条目)

    • 将您的 ios/Podfile 更改为Flutter master分支上的最新版本(https://github.com/flutter/flutter/tree/master/packages/flutter_tools/templates/cocoapods

    • 删除ios / Podfile.lock和ios / Pods

    • 使用 flutter channel <branch> 切换到Flutter master(或dev)分支

    • flutter clean ; flutter run

相关问题