[iOS] could not find module for target 'x86_64-apple-ios-simulator' found arm64 arm64-apple-ios-simulator 오류 해결

Danna 다나·2021년 9월 10일
2

우당탕탕 해결기

목록 보기
1/7
post-thumbnail

https://levenshtein.tistory.com/396
위 블로그를 보면서 해결했다.
하지만 해당 블로그에는 각 설정이 어떤 걸 의미하는지 등과 같은 자세한 설명은 나와있지 않았기 때문에 찾아보게 되었다.

👉🏻 오류의 원인

우선 오류의 원인은 Xcode의 버전이 업그레이드 되고 ARM 기반 애플 실리콘이 탑재된 맥을 지원하게 되며 아이폰 시뮬레이터에 ARM용 아키텍쳐 arm64가 추가되며 발생했다.
그래서 빌드 과정에서 제외시킬 아키텍쳐에 arm64를 추가해주며 이 문제를 해결할 수 있었던 것이다.

👉🏻 아키텍쳐

아이폰은 arm64, armv7, armv7s, armv6 등의 arm 기반 아키텍쳐를 탑재하고 있다. 하지만 그렇다고 해서 우리가 iOS 앱을 개발할 때 사용하는 맥의 시뮬레이터도 해당 아키텍쳐로 구동되는 것은 아니다.
따라서 시뮬레이터는 맥의 CPU 기반 아키텍쳐를 따르게 되는데, 최근 출시된 M1을 탑재한 맥이 아닌 경우 대부분의 맥은 인텔 CPU를 탑재하고 있다. 그리고 인텔 CPU는 x86_64 아키텍쳐를 사용한다. 그래서 맥에서 구동하는 시뮬레이터 역시 x86_64 아키텍쳐를 사용하게 된다.

👉🏻 Build Active Architecture Only 옵션

오류를 해결하기 위해 수정해줬던 이 옵션은 현재 연결된 기기를 감지해 해당 기기에 맞는 아키텍쳐용 빌드만 생성하고자 할 때 사용한다.
예를 들어, arm64를 사용하는 아이폰11에 빌드할 때 다른 armv7이나 armv7s 바이너리는 만들어질 필요가 없다.
이런 경우에 아이폰11이라는 기기를 감지해 arm64 바이너리만 빌드할 수 있게 해주는 옵션이 Build Active Architecture Only 옵션이다.
시뮬레이터도 마찬가지 방법으로 구동된다.

👉🏻 Excluded Architectures 옵션

빌드에서 제외할 아키텍쳐를 골라 설정에 추가해줄 수 있다.





https://jusung.github.io/Xcode12-Build-Error/
여기를 아주 많이 참고했습니다!

profile
요즘은 https://welcometodannas.tistory.com/에 더 많은 글을 씁니다.

2개의 댓글

comment-user-thumbnail
2023년 4월 5일

감사합니다 참고하여 해결하였습니다

답글 달기
comment-user-thumbnail
2023년 11월 23일

감자합니다

답글 달기