(ios, swift) база данных firebase realtime не может выполнять запись, когда все подключено

#ios #swift #database #firebase #firebase-realtime-database

#iOS #swift #База данных #firebase #firebase-realtime-database

Вопрос:

Я новичок в firebase и пытаюсь записать некоторые данные в firebase. Моя проблема заключается в следующем: установлены коакоподы pod ‘Firebase / Core’ pod ‘Firebase / Database’ и импортированы Firebase в Xcode, также изменено правило базы данных реального времени оба «чтения» и «записи» верны, все подключено к Google firebase, но по-прежнему не может записывать данные в базу данных реального времени? у кого-нибудь такая же проблема, как у меня? кто-нибудь может мне помочь это исправить?

часть кода первая (AppDelegate.swift): импортируйте UIKit, импортируйте Firebase

@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate {

 var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    **FirebaseApp.configure()**

    return true
}
  

часть вторая (ViewController.swift):
импортируйте UIKit
импорт Firebase импорт FirebaseDatabase

класс ViewController: UIViewController {

 override func viewDidLoad() {
    super.viewDidLoad()

    **let ref = Database.database().reference()**

    **ref.child("someid/name").setValue("mike")**
}
  

}
В Xcode или firebase не отображается никаких сообщений об ошибках.

Комментарии:

1. Можете ли вы запустить анализатор HTTP-трафика и посмотреть, есть ли исходящий запрос?

Ответ №1:

Я предлагаю вам обновить ваш GoogleService-Info.plist, загрузив его с вашей консоли еще раз. Это решило мою проблему.

Комментарии:

1. Как вы думаете, как это решило проблему?

2. Я предполагаю, что что-то было не так с моим файлом. Я проверил ref, это было правильно, но строка ref.child(«someid /name»).setValue(«mike») ничего не делала, добавила завершение к этой строке, но она не вошла в блок. Каким-то образом это сработало после изменения файла.

Ответ №2:

 override func viewDidLoad() {
    super.viewDidLoad()

    let ref = Database.database().reference()

    let value = [
        "name": "mike"
    ] as [String: Any]
    ref.child("someid/name").setValue(value)
}