一尘不染

在iOS(Flutter)中使用Firebase和Geolocator(或任何Swift插件)生成错误

flutter

我正在尝试创建一个使用Firebase和Geolocator插件的flutter应用程序。

  • 我将用来认证的Firebase插件,使用RTDBFCM
  • Geolocator显然是位置感知一个非常可靠的插件。

在Android中,一切都很好-一切正常!

但是,在iOS中,我无法构建应用程序,错误:

The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.

据我了解,使用Firebase插件不需要您使用use_frameworks!在Podfile中。显然,由于Geolocator在iOS部分中使用Swift代码,因此需要TO
use_frameworks!
在Podfile中。

我知道我可以使用另一个GPS插件,例如Location,但是当它适用于任何Swift代码插件时,我的问题是:

使用Flutter,是否可以将Firebase与任何Swift插件一起使用?


阅读 345

收藏
2020-08-13

共1个答案

一尘不染

我不是这方面的专家,但是好像您指定了Swift版本Podfile可能会解决上述错误。您可以通过添加以下行来做到这一点:

config.build_settings['SWIFT_VERSION'] = '4.1'

它应该是该post_install块的一部分,如下所示:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['SWIFT_VERSION'] = '4.1'
    end
  end
end
2020-08-13