长时间在github上搜索并查找类似错误后,没有提出的解决方案可以帮助我解决该错误。
我尝试了很多事情(有点混乱):
这是错误:
** BUILD FAILED **
Xcode's output:
↳
/Users/flo/Mobile/we_ll_see/ios/Runner/GeneratedPluginRegistrant.m:10:9: fatal error: module
'cloud_firestore' not found
@import cloud_firestore;
~~~~~~~^~~~~~~~~~~~~~~
1 error generated.
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
需要一些帮助人员
答案 0 :(得分:4)
如果您使用的是 Android Studio,如果您手动创建 Podfile,则可能会发生错误。 Flutter 仅使用 pubspec.yaml 文件运行。您不必自己设置 Podfile。如果您遵循 firestore 主页上的安装指南,只需在使用 Xcode 添加 GoogleService-Info.plist 文件后跳过所有内容。
答案 1 :(得分:2)
这是一个非常糟糕的不幸错误。在尝试解决这个问题几个小时后,我终于找到了解决方案。问题在于,您的Podfile不会使用pubspec.yaml文件进行更新。我认为您的Podfile几乎是空的:
target 'Runner' do
use_frameworks!
end
但这是一个大问题。如果您尝试以下操作,则会创建该Podfile:$ rm Podfile,然后$ pod init。
这是我的解决方案:
...但是在此之前,您必须检查一下,否则我的解决方案可能无法正常工作: 运行:
$ pod install
如果此命令的结果是:
There are 0 dependencies from the Podfile and 0 total pods installed.
您可以肯定,此解决方案有效。否则它也将起作用,但是也许您应该在注释中将您的命令行结果写给我!
现在返回解决方案...
步骤:使用以下代码更新Podfile(请删除文件的旧内容):
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
现在,Podfile正在更新您在podspec.yaml文件中写下的Pod。
现在,您必须通过调用以下命令将podspec.yaml文件与xcode pod同步:
$ pod install
然后,您将看到所有吊舱下载。之后,您可以通过调用flutter run或仅在编辑器中运行flutter项目。
注意:Podfile.lock文件列出了Pod和每个Pod的版本。 “真实” Podfile仅用于podspec.yaml文件与真实pod之间的连接。如果查看Podfile.lock文件,您会看到没有写下任何Pod,这就是问题所在。如果没有要安装的Pod,则找不到每个模块(例如“ cloud-firestore”)...
我希望这个答案对您有帮助,您可以在评论中问我是否有问题,但是我知道这不会发生:)
答案 2 :(得分:1)
我试过了
rm Podfile
pod init
pod install
但它总是显示已安装的 0 个依赖项
然后我删除了
podfile.lock
尝试过
pod install again
并且它安装了所有项目依赖项,包括 cloud_firestore。
flutter run and flutter build ios
成功了。
答案 3 :(得分:1)
对我来说,我只是将部署目标更新为与 Pod 文件中定义的相同。
请注意,您需要打开 Runner.xcworkspace 而不是 Runner.xcodeproj。
答案 4 :(得分:0)
分享此内容,以防将来对其他人有所帮助。我遇到了与原始海报相同的问题。我尝试了上面建议的所有解决方案,但没有一个对我有用。在撰写此消息时,至少有 5 个不同的人在 Github 上的 flutterfire 存储库中报告了相同的问题,但也没有人在那里发布明确的解决方案。
对我有用的是删除 Flutter 项目中的整个 ios 目录,然后重建它:
flutter create -i swift .
这很耗时,但它解决了问题。 'cloud_firestore' not found 错误不再发生在我身上。除了重建 ios 文件夹,我还得重新添加 GoogleService-Info.plist 到 Runner,重新添加图标,重新添加 Xcode 中的签名和功能,并重新添加 Xcode 中的目标属性,例如隐私使用说明,等
我建议您先尝试上面提到的所有其他选项,但如果像我一样它们不能为您解决问题,那么删除并重建整个 ios 文件夹可能是一个有效的下一步。
答案 5 :(得分:0)
确保将从 firebase 下载的 google services info plist 文件放入与 info-plist 相同的文件夹中