Я пытался заставить 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" = вложение;
}} `