[Swift] CloudKit Database : Field recordName is not marked queryable 에러 해결

술술·2024년 6월 29일

CloudKit

목록 보기
1/1

Database 사용법

어찌저찌 해서 CloudKit 연결 성공했는데, 데이터 조회가 안 되는 상황;;

Field recordName is not marked queryable

자꾸 저 에러가 떴다. 저게 뭔데요;;

이곳저곳 뒤지던 중.. 나의 한 줄기 빛 공식문서에서 알려줬다.

Handling an iCloud Container’s Data 를 읽고 있었는데 내가 계속 뜨던 에러가 나왔다.

오류사진
당장 눌러!!

공식문서 에러 해결법

구글 번역기의 말

데이터베이스를 디자인하고 디버깅할 때 특정 레코드 유형의 레코드를 검색하는 것이 유용할 수 있습니다. 유형별로 레코드 검색을 활성화하려면 먼저 레코드 유형의 필드에 색인을 추가해야 합니다.
프로그래밍 방식으로 레코드를 생성하면 iCloud는 해당 레코드 유형에 RecordName 메타데이터 필드를 생성합니다. CloudKit 데이터베이스 앱과 코드에서 유형별로 레코드를 검색할 수 있도록 이 필드에 QUERYABLE 인덱스를 추가합니다.

  1. 앱 컨테이너에 대한 CloudKit 데이터베이스 앱 스키마 관리 페이지의 왼쪽 탐색 메뉴에 있는 스키마 섹션에서 인덱스를 선택하세요.
  2. 기존 인덱스를 보거나 제거하려면 인덱스 패널에서 필드 이름을 선택합니다.
  3. 색인을 추가하려면 색인 패널 상단에 있는 더하기 아이콘을 클릭하세요.
  4. 레코드 유형을 원하는 레코드 유형으로 설정하십시오.
  5. 새 인덱스의 이름을 입력합니다.
  6. 유형을 QUERYABLE로 설정합니다.
  7. 색인을 생성할 필드를 선택합니다.
  8. 추가를 클릭합니다. 새 색인이 색인 기본 패널에 나타나고 해당 필드를 사용하여 레코드를 검색할 수 있습니다.

아무튼 메타데이터를 인덱스 추가해야 검색할 수 있다는 것 같았다. 그렇다면... 일단 추가해보기!

추가완료 사진

추가 다했다..

다시 조회해보기!!

조회 사진

잘 된다!! 확인해보니 데이터가 잘 들어간 게 맞는 것 같다. 물론 다른 기기에 앱 설치해서 확인해보긴 했는데.. 그래도 데이터 베이스에서 보고 싶었다.

새로운 데이터를 추가해봐도 바로바로 업데이트가 된다!

앱에서는 앱을 껐다 켜면 업데이트가 되는데 이제 업데이트 시점에 대해서 공부해봐야 겠다.

profile
Hello

0개의 댓글