我正在尝试将数据发布到Firebase。但是当我单击按钮时,什么也没发生。既没有发送数据,也没有发生任何异常。我尝试了很多方法,也尝试了新项目,但是问题仍然存在。我尝试了Firebase网站上给出的测试代码,没有任何反应。
这是我的常量
let THOUGHTS_REF = "thoughts"
let CATEGORY = "category"
let NUM_COMMENTS = "numComments"
let NUM_LIKES = "numLikes"
let THOUGHT_TXT = "thoughtTxt"
let TIMESTAMP = "timestamp"
let USERNAME = "username"
**这是ThoughtCategory的枚举**
enum ThoughtCategory: String {
case serious = "serious"
case funny = "funny"
case crazy = "crazy"
case popular = "popular"
}
这是VIEW背后的代码:
import UIKit
import Firebase
import FirebaseFirestore
class AddThoughtVC: UIViewController, UITextViewDelegate {
//Outlets
@IBOutlet weak var segmentControl: UISegmentedControl!
@IBOutlet weak var usernameTxt: UITextField!
@IBOutlet weak var thoughtTxt: UITextView!
@IBOutlet weak var postBtn: UIButton!
//Variables
private var categorySelected = ThoughtCategory.funny.rawValue
override func viewDidLoad() {
super.viewDidLoad()
thoughtTxt.delegate = self
postBtn.layer.cornerRadius = 4
thoughtTxt.layer.cornerRadius = 4
thoughtTxt.text = "My random thought..."
thoughtTxt.textColor = UIColor.lightGray
}
func textViewDidBeginEditing(_ textView: UITextView) {
textView.text = ""
textView.textColor = UIColor.darkGray
}
@IBAction func categoryChanged(_ sender: Any) {
switch segmentControl.selectedSegmentIndex {
case 0:
categorySelected = ThoughtCategory.funny.rawValue
case 1:
categorySelected = ThoughtCategory.serious.rawValue
default:
categorySelected = ThoughtCategory.crazy.rawValue
}
}
@IBAction func postBtnTapped(_ sender: Any) {
guard let username = usernameTxt.text else { return }
Firestore.firestore().collection(THOUGHTS_REF).addDocument(data: [
CATEGORY : categorySelected,
NUM_COMMENTS : 0,
NUM_LIKES : 0,
THOUGHT_TXT : thoughtTxt.text,
TIMESTAMP : FieldValue.serverTimestamp(),
USERNAME : username
]) { (err) in
if let err = err {
debugPrint("Error adding document: \(err)")
} else {
self.navigationController?.popViewController(animated: true)
}
}
}
}
这是日志文件中的错误
2018-10-30 22:58:50.091529 + 0500 RNDM [802:11061] [BoringSSL]
nw_protocol_boringssl_get_output_frames(1301)[C3.1:2] [0x7fdb1051de90]
获取输出帧失败,状态8196
2018-10-30 22:58:50.091719 + 0500 RNDM [802:11061] [BoringSSL]
nw_protocol_boringssl_get_output_frames(1301)[C3.1:2] [0x7fdb1051de90]
获取输出帧失败,状态8196
2018-10-30 22:58:50.092369 + 0500 RNDM [802:11061] TIC读取状态
[3:0x0]:1:57 2018-10-30 22:58:50.092511 + 0500 RNDM [802:11061] TIC阅读
状态[3:0x0]:1:57
最佳答案
Check Firestore rules
rules_version = '1';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
关于ios - ios:将数据发布到Firestore时遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53070057/