新 Swift 项目上的 FIreStore - FIRAuth getUID 实现
Posted
技术标签:
【中文标题】新 Swift 项目上的 FIreStore - FIRAuth getUID 实现【英文标题】:FIreStore on New Swift Project - FIRAuth getUID implementation 【发布时间】:2018-04-30 13:24:32 【问题描述】:我一直试图让 FireStore 在 Swift 上工作,但遇到“未设置 FIRAuth getUID 实现”。我无法获取我的数据。我从一个测试应用程序开始......全新的 Firestore 项目。 Swift 中的新 ios 项目。新的一切。我只是想读一些数据。这就是我目前所拥有的......
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 APP。 第 5 步...运行您的应用程序以验证安装 check_circle 恭喜,您已成功将 Firebase 添加到您的应用中! 所以我知道应用程序连接正常。
===========================
所以我访问了 FireStore 文档: https://firebase.google.com/docs/firestore/quickstart
我将此代码添加到 ViewCONtroller.swift 。
导入 UIKit 导入 Firebase 类视图控制器: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;
=========================================
我怀疑存在身份验证问题,但我的规则设置为开放式。我完美地遵循了指示。我觉得我必须拥有某种 Auth 证书。
也就是说,最终,我要做的就是从该站点读取数据。
那么,有什么想法是我做错了吗?
==============================================
我添加了更多 Post data 和 Read Data 。而且还在...
`===============================
=====btn READDATA ======= 获取文档时出错:Error Domain=FIRFirestoreErrorDomain Code=13“发生内部错误。” UserInfo=NSLocalizedDescription=发生内部错误。
2018-04-30 12:01:00.004048-0400 t6[342:28839] 状态栏找不到缓存的时间字符串图像。正在渲染。
=====btn POSTDATA ======= 添加文档时出错:Error Domain=FIRFirestoreErrorDomain Code=7“缺少权限或权限不足。”用户信息=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 = "2018 年 4 月 30 日星期一 16:01:01 GMT"; , NSLocalizedDescription=缺少或权限不足。, io.grpc.TrailersKey= “内容处置”=附件; `
【问题讨论】:
搞砸这个更多...我得到... 【参考方案1】:我解决了这个问题。我的可可豆荚需要更新。实际上我做了一个全新的 Cocoapds 安装,但如果你有这个问题,我建议你做一个 pod 更新。就那么简单。 是的,这是一个愚蠢的错误,但我要感谢给我打分的海报。
【讨论】:
以上是关于新 Swift 项目上的 FIreStore - FIRAuth getUID 实现的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中将 Firestore FieldValue 解析为日期
如何从 Cloud Firestore 上的对象中检索值?迅速