Xcode 10

Xcode 10에는 모든 Apple 플랫폼을 위한 멋진 앱을 만드는 데 필요한 모든 것이 담겨 있습니다. 이제 Xcode 및 Instruments는 macOS Mojave의 새로운 다크 모드에서 근사하게 표시됩니다. 소스 코드 편집기를 사용하면 코드를 더 쉽게 변환하거나 리팩터링하고, 관련 라인과 함께 소스 제어 변경 사항을 확인하고, 업스트림 코드의 차이점에 관한 세부 정보를 빠르게 얻을 수 있습니다. 사용자 정의 시각화 및 데이터 분석을 통해 자신만의 도구를 만들 수 있습니다. Swift를 통해 소프트웨어를 더 빨리 컴파일하고 더 빠른 앱을 제공하고 더 작은 바이너리를 생성할 수 있습니다. 테스트 모음이 몇 배나 빠르게 완료되고 팀과 함께 하는 작업이 한층 간편하고 안전해지는 등의 많은 이점이 있습니다.

어둠 속에서 빛나다

어두운 Xcode 인터페이스로 인해 여러분의 코드 작업이 유난히 돋보이기 때문에 Xcode에서 작성하는 코드는 근사해 보입니다. 전체적인 인터페이스가 아이콘부터 폰트, Jump Bar(이동 막대)의 미세한 색 대비까지 다크 모드의 Mac 경험에 맞춰져 있습니다.

또한, Xcode는 자신만의 macOS용 다크 앱을 만들 수 있는 강력한 도구를 제공합니다. Interface Builder를 사용하면 디자인과 미리보기를 밝은 배경에서 어두운 배경으로 빠르게 전환할 수 있습니다. 자산 카탈로그는 자산 및 이름이 지정된 색상을 정의합니다. 또한, 디버깅하는 동안 앱에 다크 모드를 적용 또는 해제하도록 전환할 수 있습니다. 이 모든 작업은 여러분의 앱에만 적용되는 Xcode 내의 컨트롤을 사용하여 수행됩니다. 시스템 설정을 변경하지 않아도 됩니다.

마크다운 파일에서 타이핑 시 머리말, 볼드체 및 이탤릭체로 된 텍스트, 링크, 기타 서식이 편집기에서 바로 렌더링됩니다. Jump Bar(이동 막대)가 마크다운 구조까지 이해하여 README.md 및 문서 파일을 빠르게 탐색할 수 있습니다.

전문가처럼 코딩하기

Xcode에는 매우 빠른 소스 코드 편집기가 포함되어 있습니다. 매우 큰 소스 파일을 편집할 때조차도 텍스트 스크롤이 놀라울 만큼 부드럽습니다. 집중력을 높이기 위해 코드를 접거나 Xcode에서 오류를 강조 표시하고 수정안을 제공하는 등의 상황에 전체적으로 부드러운 애니메이션이 사용됩니다. 또한, 뛰어난 마크다운 지원 덕분에 첨부된 문서가 멋지게 표시됩니다.

command-클릭을 사용하여 기호를 선택하거나 전체 구조를 선택하면 Swift, C, C++ 및 Objective-C 코드를 변환 또는 리팩터링할 수 있습니다. 또한, 변환 엔진이 swift.org(영문)의 일부인 오픈 소스이기 때문에 활발한 개발자 커뮤니티의 노력 덕분에 변환 목록은 계속 확장되고 있습니다.

여러분이 로컬에서 변경했든 팀원이 커밋하여 소스 리포지토리에 올렸든, 코드의 변경 사항은 각 라인 옆에 강조 표시됩니다. 새로운 코드 라인을 입력하는 즉시, 충돌이 발생했다면 바로 알 수 있으며 빨간색 표시를 빠르게 클릭하면 업스트림 코드의 차이점에 관한 더 많은 정보를 얻을 수 있습니다.

팀으로 작업하기

소스 제어는 전체 팀이 코드에 대한 작업을 진행하는 곳입니다. Xcode는 다음을 포함하여 여러 협업 플랫폼에서 직접 작업할 수 있도록 지원합니다.

  • GitHub 및 GitHub Enterprise
  • Bitbucket Cloud 및 Bitbucket Server
  • GitLab.com 및 GitLab 자체 호스팅

팀이 클라우드 또는 조직 내의 자체 호스팅 서버에서 함께 작업하는 것이 더 쉬워졌습니다. 워크플로우를 더 쉽고 안전하게 만들기 위해 Xcode에서는 고유한 SSH 키를 생성하여 서버에 업로드하는 것도 가능합니다.

일단 즐겨 찾는 서비스에 로그인하면 Xcode 복제 윈도우에 모든 개인 리포지토리 및 저장된 리포지토리가 표시됩니다. 이 윈도우에서 연결된 서버의 추가 리포지토리를 검색할 수도 있고 클릭 한 번만으로도 어느 리포지토리나 빠르게 체크아웃할 수 있습니다. 최신 버전을 가져올 때 변경 사항을 리베이스(rebase)할 수도 있습니다.

Xcode의 소스 제어 내비게이터를 사용하면 커밋의 타임라인을 통해 각 브랜치, 태그 및 원격 리포지토리를 쉽게 확인할 수 있습니다. 항목을 검사하여 영향을 받은 모든 파일을 보거나, 커밋을 이중 클릭하여 변경된 모든 내용을 확인할 수 있습니다. 브랜치 생성 및 병합과 같은 일반적인 작업은 내비게이터에서 빠르게 접근할 수 있습니다.

디버깅 도구 사용자화하기

Instruments를 사용하여 이제 print() 문과 작별하고 OSLog 표지와 사용자 정의 도구로 대체할 수 있습니다. 오버헤드가 거의 없이 코드 전체에 중요한 포인트를 표시한 다음 Instruments에서 앱이 실행될 때 해당 표지를 추적할 수 있습니다. 이러한 로그 포인트는 CPU, 메모리 또는 네트워크 사용과 같은 다른 분석 이벤트와 함께 표시되어 코드 동작에 대한 중요한 정보를 제공합니다.

더 나아가 사용자 정의 시각화 및 데이터 분석을 통해 자신만의 도구를 만들 수도 있습니다. Xcode에는 템플릿이 포함되어 있어 Apple이 사용하는 것과 동일한 도구를 사용하여 도구를 만들 수 있습니다. 도구를 프로젝트의 일부로 쉽게 공유할 수 있으며 다른 팀 구성원이나 공용 프레임워크 사용자가 간단하게 설치할 수 있습니다.

또한, Xcode는 사용자로부터 익명의 에너지 및 충돌 로그를 수집하여 가장 중요한 문제를 강조 표시해 주므로 문제가 되는 코드 라인으로 직접 들어가 살펴볼 수 있습니다. 따라서 출시하기 전에 버그를 잡지 못한 경우에도 빨리 식별해 문제를 수정할 수 있습니다.

시뮬레이션 및 테스트

Xcode에는 강력한 테스트 엔진이 내장되어 있습니다. 한 번에 여러 대의 물리적인 기기에 대해 단위 테스트와 UI 및 성능 테스트를 실행할 수 있습니다. 또는 Mac의 처리 능력을 활용하여 병렬로 실행되는 시뮬레이션 기기를 사용해 테스트 속도를 크게 높일 수 있습니다.

지속적인 통합 설정을 위해 다양한 유형의 시뮬레이션 기기를 시작하여 완전한 테스트 도구를 처음부터 끝까지 실행할 수 있습니다. 또는 테스트를 가능한 빨리 완료하기 위해 Xcode에서는 단일 시뮬레이션 기기의 여러 복제본을 생성해 모든 테스트를 전방위로 실행하여 주어진 시간 내에 테스트를 마칠 수 있습니다.

네트워크의 다른 Mac을 Xcode Server 호스팅에 할애하여 자동화된 빌드 및 테스트를 수행할 수도 있습니다. Xcode에 해당 기능이 내장되어 있으므로 추가적인 서버 소프트웨어를 사용할 필요 없이 전용 Xcode CI 설정으로 간단하게 시작하고 실행할 수 있습니다. 지속적으로 앱을 빌드하고 테스트하는 것이 빨라졌습니다.

Swift로 빠르게 빌드하기

Xcode 10에는 소프트웨어를 더 빨리 컴파일하고 더 빠른 앱을 제공하도록 도와주면서도 더 작은 바이너리를 생성하는 Swift 4.2가 포함되어 있습니다. Swift 4.0과 비교해 최신 Swift 컴파일러는 크기가 큰 앱을 두 배 이상 빠른 속도로 빌드할 수 있습니다.* 새로운 Xcode의 새 빌드 시스템과 결합되어 매일 진행하는 편집, 빌드 및 테스트 워크플로우가 훨씬 더 빨라졌습니다. 최신 멀티 코어 Mac 하드웨어에 최적화된 Xcode 및 Swift는 매우 빠른 개발 플랫폼을 위해 만들어졌습니다.

플레이그라운드에서 모델 학습시키기

Swift는 즐겁게 사용할 수 있도록 제작되었으며 플레이그라운드 파일을 사용할 때 API로 실험하기가 간편합니다. Xcode 10에서는 플레이그라운드가 한층 더 향상되어 기존 REPL처럼 작동하면서도 라이브 뷰의 반응성은 더 좋아져, 즐겁고 빠르게 디자인할 수 있습니다. 새 코드를 추가하면 새 라인만 다시 컴파일됩니다. 특정 코드 라인을 다시 실행하도록 선택하거나 shift-return 키를 눌러 방금 입력한 코드 라인까지 프로그램을 실행할 수 있습니다.

새로운 증분 모델은 새 Create ML 프레임워크에서 작업을 진행하는 데 최적화되었습니다. 앱에서 모델을 사용할 코드와 함께 플레이그라운드 내에서 직접 모델을 학습시키십시오. 앱에 사용할 언어와 동일한 Swift 언어를 사용하여 머신 러닝 코드를 초고속 워크플로우로 학습시키고 실험하고 구체화하십시오. 준비가 되면 새로 학습시킨 모델을 앱으로 드래그 앤 드롭하기만 하면 됩니다.

Create ML에 대해 더 알아보기(영문)