FIreStore для нового проекта Swift - реализация getUID FIRAuth - PullRequest
0 голосов
/ 30 апреля 2018

Я пытался заставить FireStore работать на Swift, но столкнулся с тем, что «реализация getUID FIRAuth не установлена». и я не могу получить свои данные. Я начал с тестового приложения ... совершенно новый проект Firestore. Новый iOS-проект в Swift. Новое Всё. Я просто хочу прочитать некоторые данные. Это то, что я имею до сих пор ...

xCode, версия 9.3 (9E145) Правила FireStore

service cloud.firestore {
   match /databases/{database}/documents {
   match /{document=**} {
      allow read, write;
    }
  }
}

AppDeligate.swift

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

ViewController.swift

  import UIKit
  import Firebase
  class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()

          let db = Firestore.firestore()
              //  this gives
              // [Firebase/Core][I-COR000025] FIRAuth getUID implementation wasn't set.
              // and I cant read data after ward.
      }

ПРИМЕЧАНИЕ. Добавьте Firebase в приложение для iOS. Шаг 5 ... Запустите приложение, чтобы проверить установку check_circle Поздравляем, вы успешно добавили Firebase в свое приложение! Итак, я знаю, что приложение подключается правильно.

===========================

Итак, я перехожу к документации FireStore по адресу: https://firebase.google.com/docs/firestore/quickstart

Я добавляю этот код в ViewCOntroller.swift.

импорт UIKit импорт Firebase Класс ViewController: UIViewController {

переопределить func viewDidLoad () { super.viewDidLoad ()

let db = Firestore.firestore()
    //  this gives
    // [Firebase/Core][I-COR000025] FIRAuth getUID implementation 
        wasn't set.
    // and I cant read data after ward.

// Add a new document with a generated ID
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)")
    }
}

}

И я получаю эту ошибку ...

2018-04-30 09:17:34.410768-0400 t5[32887:825090] 4.10.0 - 
[Firebase/Core][I-COR000025] FIRAuth getUID implementation wasn't 
set.
2018-04-30 09:17:34.625631-0400 t5[32887:825100] TIC Read Status 
[1:0x0]: 1:57
2018-04-30 09:17:34.625748-0400 t5[32887:825100] TIC Read Status 
[1:0x0]: 1:57
==============================================
Error adding document: Error Domain=FIRFirestoreErrorDomain Code=7 
"Missing or insufficient permissions." UserInfo={io.grpc.HeadersKey={
    "alt-svc" = "hq=\":443\"; ma=2592000; quic=51303433; 
quic=51303432; quic=51303431; quic=51303339; 
quic=51303335,quic=\":443\"; ma=2592000; v=\"43,42,41,39,35\"";
    "content-disposition" = attachment;
    date = "Mon, 30 Apr 2018 13:17:35 GMT";
    }, NSLocalizedDescription=Missing or insufficient permissions., 
    io.grpc.TrailersKey={
        "content-disposition" = attachment;
}}

========================================= Я подозреваю, что есть проблема с аутентификацией, но у меня установлены широко открытые правила. Я отлично следовал инструкциям. Я чувствую, что у меня должен быть какой-то сертификат авторизации. Тем не менее, в конечном итоге, все, что я хочу сделать, это прочитать данные с этого сайта. Итак, есть мысли, что я делаю не так?

==============================================

Я добавил больше данных публикации и чтения данных. и все еще получаю ...

`===============================

===== btn READDATA ======= Ошибка при получении документов: Ошибка Domain = FIRFirestoreErrorDomain Code = 13 "Произошла внутренняя ошибка." UserInfo = {NSLocalizedDescription = Произошла внутренняя ошибка.}

2018-04-30 12: 01: 00.004048-0400 t6 [342: 28839] В строке состояния не удалось найти кэшированное изображение строки времени. Рендеринг в процессе.

===== btn POSTDATA ======= Ошибка при добавлении документа: Ошибка Domain = FIRFirestoreErrorDomain Code = 7 «Отсутствует или недостаточно разрешений». UserInfo = {io.grpc.HeadersKey = { "alt-svc" = "hq = \": 443 \ "; ma = 2592000; quic = 51303433; quic = 51303432; quic = 51303431; quic = 51303339; quic = 51303335; quic = 51303335, quic = \": 443 \ "; ma = 2592000; v = \ "43,42,41,39,35 \" "; "content-disposition" = вложение; date = "Пн, 30 апреля 2018 16:01:01 GMT"; }, NSLocalizedDescription = Отсутствует или недостаточно разрешений., Io.grpc.TrailersKey = { "content-disposition" = вложение; }} `

1 Ответ

0 голосов
/ 04 мая 2018

Я решил проблему. Мои какао-стручки нуждались в обновлении. На самом деле я сделал совершенно новую установку Cocoapds, но я рекомендую сделать обновление pod, если у вас есть эта проблема. Просто как тот. да, это была глупая ошибка, но я хотел бы поблагодарить плакат, который оценил меня.

...