천원의 개발

Xcode15 linker Bug Report (Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)) 본문

iOS&Swift🍎/Xcode

Xcode15 linker Bug Report (Thread 1: EXC_BAD_ACCESS (code=1, address=0x0))

천 원 2023. 11. 29. 15:15

안녕하세요. 천원입니다.

오늘은 Xcode15 에서 발생하는 버그 리포팅을 해보고자 이 글을 작성합니다.

 

Xcode15.0.1에서 unit test 타켓을 추가하고 iOS 14이하의 디바이스로 빌드하게 되면 아래와 같은 런타임 crash 가 발생하게 되는데

Thread 1: EXC_BAD_ACCESS (code=1, address=0x0

 

먼저 Xcode 15에 Release Note를 살펴보면

static 라이브러리 linking 속도의 향상을 위한 새로운 linker가 나왔네요! 이녀석 때문에 문제가 발생한 것 같아 한번 찾아보니 아래와 같이

 

 

 

iOS 14 이하에서 약한 정의를 같는 심볼을 사용하는 바이너리 파일에서 런타임 crash 가 발생한다고 하네요. 회피책을 보니 OTHER_LDFLAGS bulid setting에서 -Wl, -ld_classic 을 추가해 주라고 하니 한번 해보겠습니다.

 

정상적으로 동작하였습니다. -Wl, -ld_classic 플래그는 classic 링커를 사용하기 위한 플래그라고 합니다.

이번에는 앞서 realase note에 명시되어있는 -ld64 플래그를 통해서 classic linker를 사용해 보겠습니다.

역시 잘 동작하네요.

 

참고로  Xcode 15.1 Beta 버전에서는 해결되어 특별히 Linker Flags Setting 안해주어도 정상동작 합니다.

 

 

오늘의 교훈: Xcode Release Note의 known Issues 는 귀찮아도 챙겨보자! 

'iOS&Swift🍎 > Xcode' 카테고리의 다른 글

Xcode Sonoma에서 이전 버전 Xcode 실행하기  (1) 2023.11.13