我正在尝试将数据发布到 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]
get output frames failed, state 8196
2018-10-30 22:58:50.091719+0500 RNDM[802:11061] [BoringSSL]
nw_protocol_boringssl_get_output_frames(1301) [C3.1:2][0x7fdb1051de90]
get output frames failed, state 8196
2018-10-30 22:58:50.092369+0500 RNDM[802:11061] TIC Read Status
[3:0x0]: 1:57 2018-10-30 22:58:50.092511+0500 RNDM[802:11061] TIC Read
Status [3:0x0]: 1:57
Best Answer-推荐答案 strong>
Check Firestore rules
rules_version = '1';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
关于ios:将数据发布到 Firestore 时出现问题,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/53070057/
|