Firestore无法使用Flutter for iOS构建

问题描述 投票:2回答:1

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

cloud_firestore:^ 0.6.3

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

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

 Xcode's output: ↳     /
Users/*********/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.2.3/ios/Classes/FirebaseCorePlugin.m:7:9:
fatal error: 'Firebase/Firebase.h' file not found
    #import <Firebase/Firebase.h>
        ^~~~~~~~~~~~~~~~~~~~~


 1 error generated

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

UPDATE

经过另一项研究后,我发现删除#use_frameworks!从iOS文件夹中的Podfile让我们的项目进行编译。但是,如果无法删除,应该怎么办?

firebase dart google-cloud-firestore flutter flutter-dependencies
1个回答
6
投票

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

以前设置#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 branch(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
© www.soinside.com 2019 - 2024. All rights reserved.