我正在尝试将数据发布到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/

10-12 03:49