将 Flutter App 的 iOS 部分连接到 Firebase 的困惑
Posted
技术标签:
【中文标题】将 Flutter App 的 iOS 部分连接到 Firebase 的困惑【英文标题】:Confusion connecting iOS portion of Flutter App to Firebase 【发布时间】:2019-03-19 09:47:45 【问题描述】:我正在尝试将我的 Flutter 应用的 ios 部分连接到 Firebase。当我完成 Firebase 上的步骤时 - “将 Firebase 添加到您的 iOS 应用程序” - 我点击了一个步骤,上面写着“将下面的初始化代码添加到您的主 AppDelegate 类 "(斯威夫特版本):
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
var window: UIWindow?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?)
-> Bool
FirebaseApp.configure()
return true
但是我的 AppDelegate 类已经有了这个代码:
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
) -> Bool
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
不知道该怎么办。我是用 Firebase 提供的代码替换现有代码还是以某种方式协调两者?
【问题讨论】:
【参考方案1】:在给定的(预定义的)AppDelegate
类中,您需要另外做两件事。
他们是
import Firebase // <-- 1st add
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate
override func application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
) -> Bool
GeneratedPluginRegistrant.register(with: self)
FirebaseApp.configure() // <-- 2nd add
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
【讨论】:
FirebaseApp.configure(),您现在可以安全地删除它,FlutterFire 会自动为您处理。 firebase.flutter.dev/docs/migration/#b-ios-installation【参考方案2】:将两个代码合并在一起:
import UIKit
import Flutter
import Firebase
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
) -> Bool
GeneratedPluginRegistrant.register(with: self)
FirebaseApp.configure()
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
【讨论】:
以上是关于将 Flutter App 的 iOS 部分连接到 Firebase 的困惑的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 应用程序:IOS 模拟器未连接到 Android Studio
Flutter:未连接到 Android Studio 中的 IOS 模拟器
无法从Win Forms C#app连接到远程Node.js Socket.IO服务器
将 Flutter 连接到真实设备中的 localhost 服务器