Подключение к Firebase в IOS - PullRequest
0 голосов
/ 21 марта 2020

Следуя различным учебным пособиям, большинство из которых, кажется, за пару лет go, я пытаюсь подключиться к Firebase из приложения IOS и испытываю проблемы с тем, как и где импортировать библиотеки и, в свою очередь, подключиться к базе данных.

В моем делегате приложения я могу установить sh соединение - я думаю - внутри метода difFinishLaunching (я говорю, я думаю, потому что Firebase не распознает приложение в консоль, но это, кажется, частое явление, поэтому я игнорирую это и просто пытаюсь заставить приложение встраивать Xcode на данный момент) следующим образом:

import UIKit
import FirebaseAnalytics
import FirebaseDatabase
import FirebaseCore 

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            // Override point for customization after application launch.
            FirebaseApp.configure()
            let myDB = Database.database().reference().child("items")
            }     
            return true
        }

Кажется, что все в порядке в том, что он собирает.

Когда я пытаюсь поместить ссылку на базу данных в viewcontroller, она выдает ошибку в базе данных:

import UIKit
import FirebaseCore
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

let ref = Database.database().reference(withPath: "items") //THIS LINE THROWS ERROR

Что мне нужно сделать, чтобы создать свойство для База данных в контроллере представления?

Редактировать: Глядя на некоторые другие ответы по SO , кажется, мне, возможно, придется создать одноэлементную ссылку на соединение БД. Если да, то где бы я это разместил и как бы я сослался на него?

Спасибо за любые предложения

1 Ответ

1 голос
/ 21 марта 2020

Сначала ваш AppDelegate должен выглядеть примерно так

import UIKit
import Firebase

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        FirebaseApp.configure()
        return true
    }

, затем в вашем первом viewController, например, так:

import UIKit
import Firebase

class ViewController: UIViewController {

    var db: Firestore!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.db = Firestore.firestore()

        //do something with Firestore
        var ref: DocumentReference? = nil
        ref = db.collection("users").addDocument(data: [
            "first": "Ada",
            "last": "Lovelace",
            "born": 1815
        ]) { err in
            if let err = err {
                print("Error adding document: \(err)")
            } else {
                print("Document added with ID: \(ref!.documentID)")
            }
        }

    }
}

Имейте в виду, что я установил свои правила Firestore, чтобы разрешить любой, кто может читать / писать, что опасно, поэтому, пожалуйста, начните работать с руководством по аутентификации, как только вы это заработаете.

Обратите внимание, что приведенный выше код в значительной степени взят прямо из руководств по началу работы Добавить Firebase To An Приложение и Установка и настройка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...