• 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 항목 추가
      • 메인 스레드가 유저 입력을 받지 못하고 멈춰있는 상태
      • 심각도를 기준으로 정렬해서 보여줌.
  • 앱 아이콘
    • 단일 이미지 기능 추가