#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)
}