King of Stock

Realm Swift Verify 오류(파일 삭제 하기) 본문

IT 기술

Realm Swift Verify 오류(파일 삭제 하기)

king of stock 2018. 3. 26. 23:14

iOS 개발중 Realm 으로 사용하는 모델을 변경후 시뮬레이터를 통해서 실행을 했을때 아래와 같은 오류(물론 더 많은 로그가 찍힘)로그가 찍히는 것을 발견할 수 있음.


fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=10 "Migration is required due to the following errors:


기존에 저장된 데이터를 유지하려면 어쩔수 없이 Realm에서 제공하는 마이그레이션을 해줘야 한다.

https://realm.io/kr/docs/swift/latest/#migrations


하지만 개발중에 모델을 변경하는 일이 빈번 할 수도 있으니 기존 데이터를 가지고 있을 필요가 없다면 시뮬레이터에서 해당 앱을 지우고 다시 Run을 하거나, 시뮬레이터 대신 iPhone Device 이용해서 실행을 한다면 기기에서 앱을 삭제하고 다시 Run 해주면 새롭게 변경된 모델을 기반으로 실행이 된다.


그것도 싫다! 그러면 아래와 같은 코드를 사용하여 db(파일)를 지워버릴수 있다.

(내가 자주 이용하는 코드;;;)


let realmURL = Realm.Configuration.defaultConfiguration.fileURL!

        let realmURLs = [

            realmURL,

            realmURL.appendingPathExtension("lock"),

            realmURL.appendingPathExtension("note"),

            realmURL.appendingPathExtension("management")

        ]

        for URL in realmURLs {

            do {

                try FileManager.default.removeItem(at: URL)

            } catch {

                // handle error

            }

        }



Comments