사실 AppCheck Error 자체는 Firebase의 AppCheck 기능을 활성화하지 않았기 때문에, Firebase랑 통신할 때마다 뜨는, 테스트 단계에서는 신경쓰지 않아도 되는 정도의 에러였다.
func createPillData(title: String, type: String, day: [Int]) {
let pillCollection = db.collection("Pills")
let query = pillCollection.whereField("title", isEqualTo: title)
// 넣으려는 이름의 알약이 없으면 데이터 삽입
query.getDocuments{ (snapshot, error) in
guard let snapshot = snapshot, !snapshot.isEmpty else {
self.db.collection("Pills").document().setData([
"title" : title,
"type" : type,
"day" : day
])
print("데이터 쓰기 완료")
return
}
print("데이터 쓰기 실패, 이미 같은 이름(title)의 데이터가 있습니다.")
}
}
일전에는 저런 CRUD 함수를 선언할 때, async
키워드를 달아서 비동기 함수로 선언해줬다. 하지만 그렇게 함수를 선언하고 막상 사용해보면, 계속 Thread n: EXC_BAD_ACCESS(~~~~~)
에러가 뜨는게 아닌가...
그래서 async
키워드를 빼두고 함수를 선언하고 사용했더니 에러가 안나더라...
왜 인지는 전혀 이해를 하지 못했지만 거의 이틀을 꼬박 고생한 에러가 없어지니 너무너무너무너무너무행복한 하루입니다 휴...
이제 프로젝트 전체 데이터 흐름을 파악한 다음에, 데이터를 알맞게 조작하는 함수를 만들어 내는 작업을 하면 1인분 했다 생각할 수 있을 것 같다! 내일도 파이팅!!