- Xcode 자체가 30% 용량이 줄었다.
- 프리뷰 기본값이 live로 변경
- 별도 코드를 작성하지 않고, 컨트롤로 variant(컬러스킴, 텍스트 크기, 디바이스 방향 등)를 조정하고, 이를 여러개 놓고 비교할 수 있다.
- 생성자를 타이핑만으로 자동으로 만들어 주는 기능 추가
- Codable도 지원!
- 거기에 더에 자동완성 인텔리전스도 강화 → 원하는 인자 라벨을 대충 입력하면 알아서 찾아서 그것만 골라준다.
- Xcode Library에 SF Symbol이 들어와서, 별도 앱을 키지 않고도 Xcode에서 바로 찾아넣기 가능
- 함수를 command+click하면 definition 리스트 처럼 caller 리스트도 볼 수 있다.
- 정규표현식이 Swift에 들어오면서, 정규표현식도 Xcode에서 유효성을 검사해준다.
- 이제는 에러 해소를 시도할 때, 에러가 회색 처리되면서 해당 에러를 재평가 함을 알린다.
- 잠깐 있다가 에러가 해소되면 사라지는 것은 동일
- definition이 스크롤을 벗어나도 맥락에 맞게 상단에 붙어서 보이게 변경
- 빌드 성능 개선
- Xcode가 빌드할때는, 프레임워크를 먼저 빌드하고, 앱을 빌드한다.
- 이 과정을 재배치해서 병렬성을 향상 시켰다.
- SwiftModule을 eagerly하게 만들기 때문에 가능하다.
- 링커 자체도 병렬성 개선으로 2배 빨라졌다.
- 이러한 성과로 전체 빌드가 최대 25%까지 빨라졌다.
- 이러한 개선에도 빌드가 느려지는 원인은 다양하다 → 내부 의존성, 오래걸리는 동기적인 작업 등
- 이러한 것을 파악하기 위한 시각화가 Xcode에 도입된다.
- 병렬 테스트도 개선됐다.
- 타겟과 테스트 클래스 간의 스케쥴링 의존성을 없앴다.
- 여러 테스트 클래스와 타겟이 얽힌 테스트의 경우 최대 30%까지 빨라짐
- macOS 앱 배포 속도 개선
- notarization 프로세스가 4배 빨라졌다.
- 인터페이스 빌더 개선
- 로딩 속도 50% 개선
- iPhone과 iPad 사이의 전환(디바이스 바에서)이 30% 빨라짐
- 캔버스 편집이 점진적이고, 지금 보고 있는 씬을 우선적으로 처리하여 큰 스토리보드에서도 피드백을 빠르게 받을 수 있다.
- 멀티 플랫폼 배포 개선
- 메모리 디버거 개선
- 특정 개체의 참조 경로를 양방향으로 보여준다.
- Swift Package Plugin 지원
- 프로젝트 네비게이터에서 바로 호출 가능
- 빌드 중에 빌드 툴을 적용하는 것도 가능
- Swift Package도 Localization을 Xcode 타겟처럼 할 수 있게 되었다.
- run destination chooser 개선
- 최근에 선택했던 디바이스를 우선적으로 보여줌
- 검색기능 추가
- 스킴 선택시에도 동일한 개선 사항 적용
- Organizer개선
- Feedback 항목 추가
- Testflight feedback을 Xcode에서 바로 보여주고 처리하는 기능
- Hang 항목 추가
- 메인 스레드가 유저 입력을 받지 못하고 멈춰있는 상태
- 심각도를 기준으로 정렬해서 보여줌.
- 앱 아이콘