我一直试图让FireStore在Swift上工作,但遇到了"FIRAuth getUID实现未设置"。 我无法访问我的数据。 我从一个测试应用程序开始... 全新的Firestore项目。Swift 中的新 iOS 项目。 新的一切。 我只是想读取一些数据。 这就是我到目前为止所拥有的...
xCode 版本 9.3 (9E145( 消防商店规则
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
}
视图控制器.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
我将这段代码添加到 ViewCore.swift .
导入 UIKit 导入火力基地 类视图控制器: 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.
// 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 读取数据 ======= 获取文档时出错:错误域=FIRFirestore错误域代码=13"发生内部错误。"UserInfo={NSLocalizedDescription=发生内部错误。}
2018-04-30 12:01:00.004048-0400 t6[342:28839] 状态栏找不到缓存的时间字符串图像。进程中呈现。
=====btn POSTDATA ======= 添加文档时出错:错误域=FIRFirestore错误域代码=7"缺少权限或权限不足"。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\"; "内容处置"=依恋; date ="周一,30 四月 2018 16:01:01 GMT"; }, NSLocalizedDescription=缺少或权限不足。, io.grpc.TrailersKey={ "内容处置"=依恋; }}`
我解决了这个问题。 我的可可豆荚需要更新。 实际上,我做了一个全新的Cocoapds安装,但是如果您遇到此问题,我建议您进行pod更新。 就这么简单。 是的,这是一个愚蠢的错误,但我要感谢那张让我感到愤怒的海报。