deprecated/꼼꼼한 재은씨 시리즈

[ios14] SQLite3 - Xcode12 설정 및 에러대응과 코드업

lgvv 2021. 4. 1. 01:08

1. 프로젝트 설정 정보에서 Build Phases --> Link Binary With Libraries 클릭

 

2. 검색창에 sqlite3 검색 후 -> libsqlite3.tbd 선택

 

3. 브릿징 헤더 파일 추가 

 ** 주의할 점 ** 

  - 브릿징 헤더 파일 이름 설정 시 규칙을 지켜야 한다.

  - 규칙 " [파일명]-Bridging-Header.h

  - 예시) lgvv-SQLite3-Bridging-Header.h

 

4. 생성한 헤더 파일을 시스템에 알려줘야 한다.

 - 프로젝트 설정 화면 Build Setting --> Swift Compiler --> Objective-C Header 항목을 찾아 [4번] 에서 입력한 파일의 이름을 입력해 줍니다.

  ** 만약 에러 발생 시 **

   - 디렉터링 명을 추가해준다 

   - 예시) lgvvdir/lgvv-SQLite3-Bridging-Header.h

 

5. 브릿징 헤더 파일에 #import <sqlite3.h> 를 작성한다.

 

 

 

내가 만난 에러 해결하는 방법.

첫번째 경로 에러 

경로 에러를 해결하는 방법

터미널 열어서 경로의 파일 확인해본 결과

 

파일 위치를 바꾸면 된다.

해결!!

해결하는 방법 :

프로젝트의 Chapter06-SQLite3/Chapter06-SQLite3/Chapter06-SQLite3-Bridging-Header.h 를

Chapter06-SQLite3/Chapter06-SQLite3-Bridging-Header.h 로 옮긴다 즉, 파일 한단계 위로 경로를 올린다.

 

 

문제 2 : Cannot find 'sqlite_open' in scope 

철자가 틀림..

Cannot find 'sqlite3_open' in scope // 숫자 3이 들어가야해 

 

 

--> 올바르게 하면 db.sqlite 생성된다.

 

코드 리뷰로 더 좋게 수정

홈 디렉터리에 생성

터미널에 pwd 사용해서 경로 확인하고 저렇게 바꿔주면 저 경로로 저장된다.

dbPath 변경 후 실행하였을 때

 

바뀐거 확인 가능

 

sqlite 따로 만든 후에 넣을 때 주의할 점

이렇게 체크해야 앱 번들에 포함된다. 그렇지 않으면 누락될 가능성이 있다