개발 Story

Realm m1 issue. Could not find module 'RealmSwift' for target 'arm64-apple-ios-simulator'; found: i386, x86_64-apple-ios-simulator, x86_64, i386-apple-ios- simulator, at:`path`

StudySpare 2022. 4. 15. 18:21
반응형

'arm64-apple-ios-simulator'

m1 맥북으로 바꾼 뒤로, 빌드에 어려움을 겪는다. 시뮬레이터 아키텍쳐에 x86뿐 아니라, arm64가 추가 되면서 생긴 이슈이다. (다른 포스팅에서 좀 더 상세히 다뤄보자) 그래서 arm64-apple-ios-simulator 어쩌고 하는 에러가 뜨는 것이다. 시뮬레이터 아키텍쳐 때문에 생긴 이슈이기 때문에 디바이드 빌드하면 문제 없이 잘 동작한다.

 

그래도 시뮬레이터 빌드를 하고 싶으니까, 해결을 해본다. 해결 방법은 시뮬레이터 빌드인 경우에  arm64는 빼라고 하는 것이다. 그런데 3rd party 라이브러리를 가져다 쓰는 경우에는 경우에 따라 설정을 바꾸는 방법이 다르다.

 

cocoapod으로 연동한 경우에는  podfile에서 configuration을 추가할 수 있다.

config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"

SPM(SwiftPM)으로 연동한 경우에는 해당 라이브러리가 수정되길 기다릴 수 밖에 없다. 대부분의 라이브러리들이 이슈를 리포트 받고 수정&배포를 했으니 최신버전으로 업데이트하면 대부분 해결된다.

 

Realm

realm을 spm으로 사용하는 경우, 아래 issue와 commit, release 에서 m1이슈가 대응 되었다.

Issue : https://github.com/realm/realm-swift/issues/7468
commit : https://github.com/realm/realm-swift/pull/7158
Release : https://github.com/realm/realm-swift/releases/tag/v10.23.0

 

그런데 문제가 생겼다. 우리 프로젝트는  realm 5.x버전을 사용하고 있었다. m1이슈는 10.x 버전에서만 수정되었다.

realm5.x와 10.x의 차이는 무엇인지 이제 알아봐야겠다.

 

반응형