https://levenshtein.tistory.com/396
위 블로그를 보면서 해결했다.
하지만 해당 블로그에는 각 설정이 어떤 걸 의미하는지 등과 같은 자세한 설명은 나와있지 않았기 때문에 찾아보게 되었다.
우선 오류의 원인은 Xcode의 버전이 업그레이드 되고 ARM 기반 애플 실리콘이 탑재된 맥을 지원하게 되며 아이폰 시뮬레이터에 ARM용 아키텍쳐 arm64
가 추가되며 발생했다.
그래서 빌드 과정에서 제외시킬 아키텍쳐에 arm64
를 추가해주며 이 문제를 해결할 수 있었던 것이다.
아이폰은 arm64, armv7, armv7s, armv6 등의 arm 기반 아키텍쳐를 탑재하고 있다. 하지만 그렇다고 해서 우리가 iOS 앱을 개발할 때 사용하는 맥의 시뮬레이터도 해당 아키텍쳐로 구동되는 것은 아니다.
따라서 시뮬레이터는 맥의 CPU 기반 아키텍쳐를 따르게 되는데, 최근 출시된 M1을 탑재한 맥이 아닌 경우 대부분의 맥은 인텔 CPU를 탑재하고 있다. 그리고 인텔 CPU는 x86_64
아키텍쳐를 사용한다. 그래서 맥에서 구동하는 시뮬레이터 역시 x86_64
아키텍쳐를 사용하게 된다.
오류를 해결하기 위해 수정해줬던 이 옵션은 현재 연결된 기기를 감지해 해당 기기에 맞는 아키텍쳐용 빌드만 생성하고자 할 때 사용한다.
예를 들어, arm64
를 사용하는 아이폰11에 빌드할 때 다른 armv7
이나 armv7s
바이너리는 만들어질 필요가 없다.
이런 경우에 아이폰11이라는 기기를 감지해 arm64
바이너리만 빌드할 수 있게 해주는 옵션이 Build Active Architecture Only
옵션이다.
시뮬레이터도 마찬가지 방법으로 구동된다.
빌드에서 제외할 아키텍쳐를 골라 설정에 추가해줄 수 있다.
https://jusung.github.io/Xcode12-Build-Error/
여기를 아주 많이 참고했습니다!
감사합니다 참고하여 해결하였습니다