OGeek|极客世界-中国程序员成长平台

标题: ios:将数据发布到 Firestore 时出现问题 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:45
标题: ios:将数据发布到 Firestore 时出现问题

我正在尝试将数据发布到 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-推荐答案


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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4