Xcode 포함 사항

Mac, iPhone, iPad, Apple WatchApple TV 앱 빌드용 통합 개발 환경인 Xcode에서 사용 가능한 주요 기능에 대해 알아보십시오. 각 베타 릴리즈를 포함하여 최신 릴리즈 버전의 업데이트에 대한 자세한 내용은 Xcode 릴리즈 노트(영문) 참고하십시오.

Xcode 13

Xcode 13에는 Swift 5.5와 iOS 15, iPadOS 15, macOS Monterey, tvOS 15, watchOS 8용 SDK가 포함되어 있습니다.

Xcode

  • Xcode UI는 새로운 내비게이터 아이콘과 새로운 상시표시형 하단 막대로 세분화되었습니다.
  • Report(보고) 내비게이터의 새로운 Cloud(클라우드) 탭에 Xcode Cloud 작업 흐름 및 빌드 결과가 표시됩니다.

Xcode Cloud

  • Xcode 속에 내장된 클라우드 기반 도구를 사용하여 앱을 빌드하고, 테스트하고, 전달할 수 있습니다.
  • 클라우드에서 테스트를 병렬로 실행하고, Report(보고) 내비게이터에서 결과를 확인할 수 있습니다.
  • App Store Connect에서 작업 흐름을 보고 편집하고, 빌드 결과를 확인할 수 있습니다.
  • TestFlight를 사용하여 테스터에게 빌드를 자동으로 배포할 수 있습니다.

소스 코드 관리 통합

  • 완전히 새로워진 Pull Request 경험을 통해 소스 코드 변경 사항의 검토 과정을 Xcode에 긴밀하게 통합합니다.
  • 코드 검토 모드에는 새로운 인라인 비교 모드가 포함되어 있어 현재의 편집 컨텍스트에서 바로 비교 보기가 가능합니다.

테스트

  • 반복 테스트를 통해 테스트에 실패할 때까지 또는 통과할 때까지 테스트를 실행하거나 실패율 데이터를 수집할 수 있도록 지정된 횟수만큼 테스트를 실행할 수 있습니다.
  • XCTest는 메모리 추적 및 iPadOS 커서 상호 작용 테스트를 지원합니다.

편집기

  • Swift 코드 완성이 더 빠르고 더 강력해졌습니다.
  • Swift 구문 하이라이트 기능을 더 빠르고 안정적으로 이용할 수 있습니다.

디버깅

  • 열 바꿈으로 하위 줄 바꿈 변환이 가능합니다.
  • 선택적 셰이더 디버거를 사용하여 더 큰 셰이더 내에서 디버깅할 기능을 선택할 수 있어, 큰 셰이더의 처리 절차를 반복하고 디버깅하는 데 소요되는 시간을 줄일 수 있습니다.

기타 개선 사항

  • TestFlight에 있는 앱의 충돌 보고서가 수 분 내로 Xcode Organizer에 표시되며, 사용자 피드백을 포함할 수 있습니다.
  • Xcode 편집기는 Vim 사용자에게 친숙한 여러 가지 일반적인 키 조합 및 편집 모드를 지원합니다.
  • Instruments에서 Metal에 의해 가속화된 새로운 GPU 타임라인 보기를 사용하면 대량 추적 정보에도 매끄럽게 상호 작용합니다.
  • Instruments의 CPU 프로프일러 템플릿에서 주기 기반 프로파일링을 사용할 수 있습니다.
  • 새로운 HTTP 네트워크 추적 도구를 통해 개발자 및 개인정보 보호 연구자는 HTTP 기반 네트워크 트래픽을 디버깅하고 분석할 수 있습니다.

Xcode 12

Xcode 12에는 Swift 5.3와 iOS 14, iPadOS 14, tvOS 14, watchOS 7macOS Big Sur용 SDK가 포함되어 있습니다.

범용 앱

  • Intel 기반 Mac 및 Apple 실리콘 기반 Mac을 위한 기본 바이너리가 포함된 단일 macOS 범용 앱입니다.
  • 도구 막대의 'Any Mac'(모든 Mac) 대상은 Intel 기반 Mac에서도 범용 앱을 빌드합니다.
  • 표준 아키텍처 빌드 설정은 기본적으로 Universal(범용)로 설정되며 Xcode는 필요한 경우 프로젝트 업그레이드를 제공합니다.
  • Universal App Quick Start Program의 DTK(Developer Transition Kit)에서 'My Mac (Rosetta)'(나의 Mac(Rosetta))을 선택하여 범용 앱에서 Intel 바이너리를 실행하고 디버깅합니다.

참고: Xcode 12.2에서는 macOS Big Sur 및 범용 앱을 지원합니다.

macOS Big Sur용으로 개편된 사용자 인터페이스

  • 문서 탭에서는 로그, 자산 카탈로그 및 UI 파일을 포함한 모든 유형의 문서가 가벼운 편집기 탭으로 열립니다.
  • 도구 막대, 아이콘 및 사이드바 디자인이 macOS Big Sur의 멋스럽고 새로운 외관에 잘 어울립니다.
  • 내비게이터 서체는 시스템 설정의 크기를 추적하거나 맞춤 크기로 직접 설정할 수 있습니다.
  • Organizer가 완전히 새롭게 디자인되었으며 애니메이션 및 스크롤 끊김과 같은 새로운 앱 지표를 보고합니다.

Swift 및 SwiftUI

  • SwiftUI의 앱 라이프 사이클을 통해 iOS, iPadOS 및 macOS용 SwiftUI로 앱 전체를 완전히 작성할 수 있습니다.
  • SwiftUI를 기반으로 빌드된 WidgetKit을 사용하면 iOS, iPadOS 및 macOS에서 실행되는 위젯의 코드를 쉽게 공유할 수 있습니다.
  • SwiftUI 성능이 전반적으로 개선되고 새로운 레이지 보기가 방대한 데이터 세트를 효율적으로 처리합니다.
  • 멀티 플랫폼 템플릿을 사용하면 각각에 맞게 맞춤화된 모든 Apple 플랫폼에서 SwiftUI 코드를 쉽게 공유할 수 있습니다.
  • SwiftUI 보기는 Xcode 라이브러리 및 코드 완성에 표시되는 재사용 가능한 구성요소로 전환될 수 있습니다.
  • Swift Package Manager는 리소스 및 현지화를 지원하므로 SwiftUI 구성요소 공유에 적합합니다.
  • 향상된 Swift 언어 진단으로 코딩 실수, 특히 SwiftUI 코드 문제를 훨씬 쉽게 파악할 수 있습니다.

Mac Catalyst

  • Mac 관용구는 완전한 사용자화를 위해 앱 사용자 인터페이스를 100% 기본 Mac 크기 및 스케일로 표시합니다.
  • HomeKit 및 AVCapture를 포함한 추가 프레임워크 및 컨트롤을 사용할 수 있습니다.
  • 키보드 API 및 OS 통합을 통해 키보드로 앱을 완벽하게 제어하기가 쉬워졌습니다.
  • Mac Catalyst로 빌드한 앱은 macOS Big Sur의 새로운 디자인과 느낌을 자동으로 가져옵니다.

기타 개선 사항

  • 앱 클립은 빠르게 설치되며, 작고 집중된 앱 경험을 제공하는 것을 목표로 합니다.
  • StoreKit 테스트 프레임워크 및 트랜잭션 관리자를 통해 앱 내 구입을 쉽게 테스트하고 디버깅할 수 있습니다.

Xcode 11

Xcode 11에는 Swift 5.1과 iOS 13, tvOS 13, watchOS 6macOS Catalina 10.15용 SDK가 포함되어 있습니다.

이 릴리즈에는 더 많은 Apple 플랫폼에 앱을 구현할 수 있도록 여러 기능이 추가되었습니다. SwiftUI는 읽기 쉽고 작성하기 편한 선언적 Swift 구문을 사용하는 혁신적이고 새로운 사용자 인터페이스 프레임워크입니다. 이 놀랍고 새로운 미리보기 도구를 사용하면 SwiftUI 코드를 직접 입력하거나 코드와 디자인이 상시 동기화되는 여러 다양한 디자인 도구로 UI를 수정할 수 있습니다. 기존 iPad 앱의 프로젝트 설정에서 'Mac' 체크상자를 선택하여 Mac 앱을 먼저 시작할 수 있습니다. 또한 Swift 패키지가 지원되는 Xcode 11을 사용하면 모든 앱에서 코드를 공유하거나 커뮤니티에서 제작한 패키지를 사용할 수 있습니다.

SwiftUI

Xcode 11에는 사용자 인터페이스를 전혀 새로운 방식으로 빌드하도록 지원하는 새로운 Swift 프레임워크와 함께 지원되는 디자인 도구인 SwiftUI가 포함되어 있습니다. Xcode의 디자인 도구를 사용하면 드래그 앤 드롭 방식으로 간단히 인터페이스를 구성하거나 편집할 수 있으며, 동시에 직접 편집이 가능한 동일 Swift 코드 파일을 즉시 편집할 수 있습니다. Xcode에서 지속적으로 실제 앱 인터페이스를 라이브 모드로 실행하여 디자인 캔버스에서 바로 앱의 동작을 확인하거나 연결된 기기에서 앱을 즉시 미리 볼 수 있습니다.

SwiftUI에는 다음이 포함됩니다.

  • 디자인 도구는 믿을 수 있는 단일 소스를 위해 직접 편집한 것과 동일한 코드를 읽고 작성합니다.
  • 선언적 구문은 사용자 인터페이스를 읽기 쉬운 Swift 코드로 정의합니다.
  • 애니메이션이 보려는 동작을 설명하는 간단한 명령어로 빌드됩니다.
  • 컨트롤 및 수정자 라이브러리를 통해 복잡한 인터페이스를 쉽게 디자인하고 빌드할 수 있습니다.
  • 모든 Apple 플랫폼에서 공통 UI 코드를 공유하고 각 OS에 대한 맞춤형 경험을 추가합니다.
  • 미리보기를 통해 다양한 기기 유형 및 손쉬운 사용 설정에서 정확한 렌더링을 보여줍니다.
  • 디자인 캔버스 또는 연결된 기기에서 라이브 인터페이스로 상호 작용합니다.
  • 편집 내용을 앱의 라이브 보기로 핫스왑하여 변경 사항을 즉시 확인하고 상호 작용합니다.

SwiftUI를 사용하려면 iOS 13, watchOS 6, tvOS 13 또는 macOS Catalina가 필요합니다. SwiftUI 디자인 캔버스를 사용하려면 Xcode 11이 macOS Catalina에서 실행되어야 합니다.

Mac에 iPad 앱 구현하기

기존 iPad 앱을 수백만 명의 Mac 사용자에게 손쉽게 제공할 수 있습니다. 체크상자 하나만 클릭하면 Xcode에서 iPad 앱을 뛰어난 성능의 진정한 네이티브 Mac 앱으로 변환할 수 있습니다.

  • iPad 프로젝트에서 체크상자를 클릭하면 macOS SDK로 빌드된 네이티브 Mac 앱이 추가됩니다.
  • iPhone, iPad 및 Mac 버전의 앱에 대해 단일 코드 기반을 사용하고 Mac용으로 앱의 여러 부분을 사용자화합니다.
  • 기존 공유 UIKit 코드에 새로운 SwiftUI 코드를 추가합니다.
  • Xcode에서 Mac App Store에 바로 제출하거나 외부 배포를 위해 공증을 받습니다.

Swift 및 Swift 패키지

  • Swift 패키지는 빌드, 디버그, SCM 등 Xcode 작업 흐름 전반에 걸쳐 지원됩니다.
  • GitHub, Bitbucket, GitLab 또는 자체 호스트에 게시된 Swift 패키지를 손쉽게 사용합니다.
  • Xcode는 종속성 분석을 기반으로 패키지를 자동으로 검색하고 관리합니다.
  • 자체 패키지를 만들어 개발자 앱 간에 코드를 공유하거나 커뮤니티에 게시합니다.

iOS 다크 모드

  • 개발 및 디버깅하는 동안 라이트 모드와 다크 모드 간에 즉시 전환합니다.
  • 자산 카탈로그를 사용하면 다크 및 라이트 모드의 이미지와 색상을 쉽게 제어할 수 있습니다.

편집기

  • 편집기 미니맵에 코드의 조감도가 표시되므로 원하는 섹션으로 바로 이동할 수 있습니다.
  • 각 편집기 보기나 탭에는 자체 미리보기, 지원 또는 기타 보완 보기가 있습니다.
  • 편집기 창을 분할하여 원하는 대로 정확하게 작업 영역을 레이아웃합니다.

Xcode 11의 기타 개선 사항

  • 훨씬 빠른 디버깅 환경으로 독립형 watchOS 앱을 빌드합니다.
  • 시뮬레이터가 더 빠르게 시작되고 GPU를 사용하여 Metal 코드 속도를 높입니다.
  • 테스트 계획을 통해 공유 가능한 결과 번들로 테스트를 더 효과적으로 제어할 수 있습니다.
  • 테스트 계획의 일부로 UI 테스트를 사용하여 현지화된 스크린샷을 자동 생성합니다.
  • 소스 제어는 숨김 및 선별 작업에 대한 지원을 추가합니다.
  • 느린 네트워크 또는 온도 경고와 같은 시뮬레이션 기기 조건에서 앱을 디버깅합니다.
  • Organizer의 지표 탭은 고객의 기기에서 앱이 얼마나 효율적으로 실행되는지 보여 줍니다.

Xcode 10.2.1

Xcode 10.2에는 Swift 5와 iOS 12.2, tvOS 12.2, watchOS 5.2macOS Mojave 10.14.4용 SDK가 포함되어 있습니다.

Swift 5

  • Swift 5 런타임이 최신 Apple 플랫폼 릴리즈에서 OS의 일부로 포함되어 있습니다.
  • App Store는 앱의 Swift 런타임을 줄여 최신 OS를 실행 중인 기기에 앱이 더 빠르게 다운로드됩니다.
  • SIMD 벡터 유형이 표준 라이브러리에 내장되어 있습니다.
  • 문자열 리터럴에는 더 쉽게 읽고 쓸 수 있도록 향상된 구문이 포함되어 있습니다.
  • 새로운 결과 enum 유형을 사용하면 비동기 작업에서 오류를 더 쉽게 처리할 수 있습니다.

Xcode의 기타 개선 사항

  • 디버거 콘솔에는 'p' 또는 'po'보다 빠른 새 프레임 변수 명령어 별칭 'v'가 있습니다.
  • 플레이그라운드에는 다양한 안정성 개선 사항 및 추가 메모리 안전 검사가 포함됩니다.

Xcode 10.2.1은 대규모 Swift 프로젝트의 빌드 시간 문제를 해결하고 추가 버그 수정을 포함합니다.

Xcode 10.1

Xcode 10.1에는 Swift 4.2.1과 iOS 12.1, watchOS 5.1, tvOS 12.1macOS Mojave용 SDK가 포함되어 있습니다.

Xcode 10

Xcode 10은 macOS Mojave의 다크 모드와 결합되어 멋지게 표현되며 macOS 앱에서도 새로운 디자인을 쉽게 채택할 수 있게 합니다. Xcode 10 베타에는 Swift 4.2와 iOS 12, watchOS 5, tvOS 12macOS Mojave용 베타 SDK가 포함되어 있습니다.

다크 모드 인터페이스 및 Mac 앱 지원

  • Xcode 및 Instruments 전체에서 전혀 새로워진 다크 모드
  • 자산 카탈로그의 맞춤형 색상 및 이미지 자산에 다크 및 라이트 모드 변형이 추가되었습니다.
  • Interface Builder에서는 인터페이스의 다크 및 라이트 미리보기 간에 전환이 가능합니다.
  • OS 설정을 변경하지 않고도 다크 또는 라이트 모드 변형으로 Mac 앱을 디버깅할 수 있습니다.

소스 제어

  • 로컬 리포지토리 또는 공유 서버의 업스트림 변경 사항이 편집기 내에서 바로 강조 표시됩니다. 다음과 같은 내용을 즉시 확인할 수 있습니다.
  • 코드 변경 사항.
  • 공유 리포지토리로 아직 푸시되지 않은 변경 사항.
  • 다른 사용자가 수행한 업스트림 변경 사항.
  • 커밋하기 전에 해결해야 하는 충돌.
  • 기존 GitHub 지원과 함께 Atlassian Bitbucket 및 GitLab의 클라우드 호스팅 및 자체 호스팅 Git 서버 제품에 대한 지원.
  • Xcode는 리포지토리에서 최신 버전의 코드를 가져올 때 변경 사항을 리베이스(rebase)할 것을 제안합니다.
  • 필요한 경우 SSH 키가 생성되고 서비스 제공업체에 업로드됩니다.

편집기 개선 사항

  • 코드 편집기에 여러 커서를 배치하여 한 번에 여러 변경을 수행합니다.
  • 이제 코드 폴딩 리본을 사용하여 중괄호로 둘러싸인 코드 블록을 가릴 수 있습니다.
  • 오버 스크롤을 사용하면 코드의 마지막 행을 화면 중앙에 쉽게 배치할 수 있습니다.

머신 러닝용으로 빌드된 플레이그라운드

  • REPL과 유사한 새 모델은 기존 플레이그라운드 코드를 즉시 재실행합니다.
  • 특정 행까지 코드를 실행하거나 shift-return 키를 입력하여 방금 추가한 코드를 실행합니다.
  • Create ML 프레임워크(영문)를 가져와 대화식으로 새 모델을 학습시킨 다음 코드를 작성하여 플레이그라운드에서 바로 모델을 테스트합니다. 완료되면 모델을 앱으로 드래그합니다.

테스트 및 디버깅

  • 디버깅 기호가 새 기기에서 이전보다 5배 빠르게 다운로드됩니다.
  • Xcode에서 동일한 시뮬레이터 모음을 생성하여 멀티 코어 Mac을 활용하고 팬 테스트를 병렬로 실행하여 테스트 모음을 여러 번 빠르게 완료합니다.
  • 테스트를 무작위 또는 선형 순서로 실행합니다.
  • 코드에 추가한 OSLog 표지를 Instruments에서 자동으로 표시합니다.
  • 자신의 코드에 대한 고유한 데이터 시각화 및 분석을 제공하기 위해 자신만의 맞춤형 Instruments 패키지를 빌드하고 공유합니다.
  • 메모리 디버거가 메모리 그래프를 더 쉽게 조사할 수 있도록 컴팩트 레이아웃을 사용합니다.
  • Metal 셰이더 디버거를 사용하면 꼭짓점, 조각, 컴퓨팅 및 타일 셰이더 코드의 실행을 쉽게 검사할 수 있습니다.
  • Metal 종속성 뷰어는 Metal 기반 앱에서 리소스가 사용되는 방식에 대한 상세 그래프를 제공합니다.

빌드 성능

  • 새로운 빌드 시스템은 전반적으로 향상된 성능으로 기본적으로 활성화됩니다.
  • Swift 컴파일러는 개별 파일을 훨씬 빠르게 빌드합니다.
  • 대규모 Swift 프로젝트는 증분 빌드 설정을 사용할 때 디버깅을 위해 훨씬 빠르게 빌드됩니다.

Xcode 9.3

Xcode 9.3에는 Swift 4.1과 iOS 11.3, watchOS 4.3, tvOS 11.3macOS High Sierra 10.13.4용 SDK가 포함되어 있습니다.

  • Organizer 윈도우의 새로운 에너지 탭에는 앱에서 지나치게 많은 전력을 소비하는 경우 생성된 로그가 포함됩니다.
  • Swift 빌드 작업 및 기타 명령어는 빌드 성능을 향상시키기 위해 종종 병렬로 실행됩니다.
  • Swift 컴파일러에 -Osize 빌드 설정으로 활성화된 새로운 코드 크기 최적화가 추가됩니다.
  • command 키를 누른 상태에서 기호를 클릭하면 발신자에게 빠르게 접근할 수 있습니다.
  • 자산 카탈로그는 ARKit 앱이 실제 세계에서 감지할 수 있는 AR 참조 이미지 파일을 지원합니다.
  • 새로운 xccov 커맨드 라인 도구를 사용하여 코드 적용 범위 보고서를 검사할 수 있습니다.
  • 대용량 파일 작업 시의 소스 편집기 성능이 향상되었습니다.

Xcode 9.2

Xcode 9.2에는 Swift 4와 iOS 11.2, watchOS 4.2, tvOS 11.2macOS High Sierra 10.13용 SDK가 포함되어 있습니다.

  • 최신 플랫폼 SDK로 업데이트되었습니다.

Xcode 9.1

Xcode 9.1에는 Swift 4와 iOS 11, watchOS 4, tvOS 11macOS High Sierra 10.13용 SDK가 포함되어 있습니다.

  • OpenGL ES 및 지도의 성능에 영향을 미치는 시뮬레이터의 문제가 해결되었습니다.
  • iPhone X에 대한 지원이 향상되었습니다.

Xcode 9.0.1

Xcode 9.0.1에는 Swift 4와 iOS 11, watchOS 4, tvOS 11macOS High Sierra 10.13용 SDK가 포함되어 있습니다.

  • iPhone X용 시뮬레이터가 개선되었습니다.
  • 테스트 내비게이터가 사용 가능한 테스트와 동기화되지 않는 문제가 수정되었습니다.

Xcode 9.0

Xcode 9에는 Swift 4와 iOS 11, watchOS 4, tvOS 11macOS High Sierra 10.13용 SDK가 포함되어 있습니다.

  • 리팩터링을 사용하면 Swift, Objective-C, C 및 C++ 코드의 구조를 쉽게 수정할 수 있습니다.
  • 코드 편집기는 놀랍도록 빠르고 응답성이 뛰어나며 Markdown 구문에 대한 기본 지원을 추가합니다.
  • 수정안은 한 번의 클릭으로 코드에 여러 개선 사항을 적용하고 필수 프로토콜 방법을 추가할 수도 있습니다.
  • 새로운 소스 제어 내비게이터 및 통합 GitHub 계정으로 팀 전체에서 코드를 쉽게 관리할 수 있습니다.
  • 네트워크를 통해 기기의 iOS 및 tvOS 앱에 대한 무선 설치 및 디버깅을 수행할 수 있습니다.
  • 시뮬레이터는 실제 기기처럼 보이고 동작하며 한 번에 여러 기기를 시뮬레이션할 수 있습니다.
  • iOS 플레이그라운드 템플릿은 iPad의 Xcode 및 Swift Playgrounds에서 모두 작동하는 문서를 생성합니다.
  • 내비게이터 찾기 속도가 매우 빠르고 결과가 즉시 표시됩니다.
  • 프로젝트 탐색기는 파일 및 그룹을 자동으로 Finder 및 소스 제어와 동기화된 상태로 유지합니다.
  • Xcode Server에는 더 이상 macOS Server가 필요하지 않으며, Xcode 환경설정에서 완전히 구성할 수 있습니다.
  • 차세대 빌드 시스템은 많은 프로젝트를 빌드할 때 안정성과 성능이 향상됩니다(선택적으로 활성화됨).
  • Swift 4 컴파일러에서는 Swift 3 코드를 빌드하여 한 번에 한 모듈씩 단계별로 마이그레이션할 수 있습니다.
  • 최신 SDK에는 머신 러닝을 위한 Core ML 프레임워크와 증강 현실을 위한 ARKit이 포함되어 있습니다.