Things take time

[Xcode] 앱 실행, 빌드까지가 너~무 느릴때 (iOS15 Device + @) 본문

XCODE

[Xcode] 앱 실행, 빌드까지가 너~무 느릴때 (iOS15 Device + @)

겸손할 겸 2021. 9. 24. 12:49

[상황]

iOS15베타가 나왔을 때, 개발기기에 업데이트를 먼저 하고, Device Support에 디스크 이미지를 넣고 컴파일을 하는데 디버깅이 너무 오래걸렸다. 그런데 15가 설치되지 않은 기기는 바로바로 실행되었다. iOS 15의 DeviceSupport에 문제가 있었다.

 

보통 엑스코드를 버전업하지 않아 최신 OS의 DeviceSupport를 제대로 호환하지 못해 발생한다. 
이럴때 필요한건 => 버전 업하지 않은(디스크 이미지를 넣은) 현재 Xcode, 최신 Xcode 두 개가 필요하다.

 

앱을 실행한 것 같은데 실제 앱이 실행되서 로그가 찍히기 시작하는 단계 전까지가 굉장히 오래 걸렸는데 이때 아래의 방법이 효과적이었다.

 

 

환경설정에 들어가서
Derived Data의 경로를 들어가서(우측 하단 화살표 클릭)
여기서 DerivedData말고 iOS DeviceSupport에 들어가 15.0으로 시작하는 애들 삭제(복수일 수 있음)

 

즉, 앱의 환경설정 경로에서 iOS DeviceSupport로 들어가 현재 앱 실행후, 화면 뜨기까지 오래 걸리는 기기의 OS를 삭제하란 의미이다. 

 

삭제 후, 엑스코드 종료 -> 최신 Xcode로 실행하면 최신 Xcode의 DeviceSupport파일이 생성되는 걸 확인할 수 있다. 그런다음 다시 최신 Xcode를 종료하고 원래 기존의 낮은 버전의 엑스코드를 실행하면 빠르게 된다.

 

즉, Derived Data는 엑스코드를 로컬에 설치/앱스토어를 각기 따로 설치하더라도 공유파일이 일치하기 때문에, DeviceSupport에 생기는 파일은 최신 엑스코드에서 생성되게 하고, 그 이후부터 기존 로컬에서 컴파일하면 되는 것이다.

 

재실행하면 위의 경로에 다시 해당 OS파일이 생성되있음을 확인할 수 있고, 디버깅하면 예전처럼 빠르게 실행된다.