[WWDC] What’s new in Xcode

WWDC 2022 What’s new in Xcode 세션

naljin
7 min readJun 7, 2022

하이 엑코 14가 나왔슴. 뭐가 새롭게 등장했는지 ㄱㄱ

일단 엑코가 30% 더 작아짐. 더 빨리 다운 받을 수 있슴

SwiftUI 에서의 preview canvas 가 interactive 한게 디폴트임. 그래서 따로 재생 버튼 안누르고도 바로 스크롤 가넝

프리뷰에서 다양한 크기 버전도 제공함. 그래서 텍스트 사이즈를 크게 했을 때 레이아웃이 깨지는지 등을 바로 확인 가넝

드디어 자동 완성 이니셜라이저 제공

SF Symbol 도 이제 라이브러리에 추가되어서 바로 검색해서 추가 가넝

함수 호출할때 이탤릭체로 되어있는건 default value 가 있는거임

frame modifier 같이 optional argument 가 많은 애도 원하는 값만 뽑아서 자동완성 시킬 수 있음

그것이 code completion 이니까 (끄덕)

definition list 도 재디자인됨. protocol 인지 class 인지 등 타입도 같이 보여줌

definition list 처럼 callers list 에도 변화가 있슴. 각 call site의 미리 보기와 함께 이 메서드에 대한 호출을 포함하는 다양한 파일 및 함수를 보여줌.

에러 고치면 일단 빨간색으로 에러 띄워졌던게 회색으로 우선 변경 됨. 이는 엑코가 diagnotics을 reevaluating하고 있음을 나타냄. 잠시 기다리면 사라짐

테스트코드에서는 현재 보고 있는 코드를 포함하는 definition 이 맨 상위에 고정되어서 보여짐

ㅇㅋ 내 차례

원래 이런식으로 빌드하던걸

엑코 14에선 향상된 병렬 처리를 위해 빌드를 재정렬

향상된 병렬성을 통해 링커를 두배 빠르게함

전체적으로 엑코 14는 프로젝트 빌드를 25%까지 빠르게 함

build log 나 result bundle 의 시각화를 제공. 빌드 타임라인을 통해 어떤 부분에서 병목이 일어나는지 파악 가넝

타겟과 test class 간의 scheduling 의존성 제거를 통해 테스팅의 병렬성을 더 극대화 함. 30% 까지 빠르게됨!

notorization (공증) 도 4 배 빠르게 함

코드사인된 앱을 애플에 보내서 기본적인 검사를 진행하고 OK도장을 받는 작업 (출처 — 맥OS 앱 코드사인 및 공증하기 )

인터페이스 빌더를 사용하는 프로젝트들에겐 더 좋은 소식이 있슴! Document loading 은 50%까지 빨라지고, device bar 에서 기기 전환은 30% 빨라짐

엑코가 빨라지기도 했지만 더 사용하기도 쉬워짐 ㅇㅇ

다른 플랫폼 배포를 위한 관리도 그냥 단일 target 에 어떤 플랫폼을 지원할건지 리스팅하는 식으로 쉬워짐. 이를 통해 설정 및 파일을 따로 동기화할 필요가 없이 각 플랫폼의 고유한 특성만 설정하면 됨.

누수를 찾아내는데 도움을 주는 메모리 디버거도 모든 reference path 를 확인 할 수 있도록 개선됨.

Swift Package plugin을 통해 엑코를 확장시킬 수 있음. 이제 패키지는 린터나 포맷터처럼 코드를 처리하는 플러그인을 통합하고 project navigator에서 직접 호출할 수 있음. 또한 빌드 중에 코드를 생성하거나 리소스를 처리하는 빌드 도구를 통합할 수 있음.

또한 응용 프로그램과 마찬가지로 패키지 리소스를 현지화할 수 있음. 패키지의 기본 localization를 설정하고, localization catalog를 내보내고, 변환하고, 다시 가져올 수 있음

run destination 선택하는것에도 변화가 있슴. 최근 사용한거 상위에 보여줘서 찾기 쉽게 함

검색해서 필터링 할 수도 있음

Organizer 에서는 Feedback 과 Hangs 가 생김

우선 Feedback organizer 에서는 testflight 의 모든 피드백을 보여줌. 테스트 플라이트 사용자들은 코멘트/스크린샷 등을 보낼 수 있음. 우측 inspector 에서는 테스터 및 디바이스 정보같은 세부 사항을 추가로 나타냄

다음으로 Hangs 영역이 새로 생김. 사용자 입력을 처리하지 않고 메인 스레드를 사용할 때 앱은 중단(hangs)되는데, 코드가 중요한 작업을 수행할 수 있지만 사용자는 응답하지 않는 앱을 경험함. 이 새로운 Hangs 영역은 앱 스토어 사용자들에게 가장 큰 영향을 미치는 중단에 대해 보여줌

앱 아이콘도 모든 사이즈 다 설정할 필요 없이 단일 사이즈로 설정 가능

당장 다운 갈기셈

출처

--

--