Xcode 9의 새로운 기능

Xcode 9에는 Apple 플랫폼에서 사용할 수 있는 멋진 앱을 만드는 데 필요한 모든 것이 담겨 있으며 대용량 파일을 편집할 때조차 믿을 수 없을 정도로 빠르고 한결같이 매끄럽게 작동합니다. Xcode 9의 코드 이해 능력은 그 어느 때보다 더 뛰어나므로 구조를 선택하고 편집할 수 있으며, 선택한 항목은 편집기에서 바로 변환까지 할 수 있습니다. 강력하고 새로운 리팩터링 작업이 적재적소에 수행되어 Swift, Objective-C뿐 아니라 사용자 인터페이스 파일에서도 빠짐없이 기호 이름을 변경합니다. Xcode 9는 또한 Swift 4에서 소스 호환이 가능하므로, 동일한 컴파일러를 사용하여 기존의 Swift 3 코드 및 업데이트된 Swift 4 코드를 빌드하기 때문에 자신만의 속도로 마이그레이션할 수 있습니다.

완전히 새로워진 편집기

소스 코드 편집기가 완전히 다시 구축되어 놀라운 속도를 제공합니다. 이제 파일 크기에 상관없이 편집기에서 일정한 속도로 매끄럽게 스크롤할 수 있습니다. 환경설정에서 줄 간격, 다양한 서체 스타일, 커서 유형 등을 사용자가 더욱 자유롭게 제어할 수 있어서 보기에도 더 편해졌습니다. 새로운 command-클릭 제스처를 사용하면 쉽게 시각화할 수 있으며 구조에 따라 코드 섹션을 선택할 수 있습니다. Fix-it(수정) 기능을 그룹화하여 문제가 코드에 맞게 잘 처리되도록 재설계했기 때문에 클릭 한 번으로 여러 변경 사항을 커밋할 수 있습니다.

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

리팩터링 및 변환

새로운 편집기는 새로운 내장 리팩터링 및 변환 엔진을 사용하여 단순한 텍스트 입력을 뛰어넘는 기능을 제공합니다. 기호나 코드 블록을 선택할 때 편집기는 '추출' 또는 '이름 변경'과 같은 강력한 기능을 제공합니다. 그런 다음 Xcode를 통해 편집기에서 즉시 코드 구조가 업데이트되어, 작성 중인 코드에만 집중할 수 있습니다. Xcode 9에서는 다음과 같은 변환 및 리팩터링을 지원합니다.

  • 누락된 프로토콜 요구사항 추가
  • 누락된 구현 스텁 생성
  • 추상 메소드에 대해 누락된 오버라이드 추가
  • 로컬 변수로 추출
  • 메소드/표현식 추출
  • 모든 적용 가능한 케이스를 생성하기 위해 switch 구문에서 default 확장
  • switch 구문에서 if/else를 /로 변환
  • NSLocalizedString 매크로를 사용하여 문자열 줄바꿈

이러한 기능은 시작에 불과합니다. Xcode의 로컬 변환 엔진은 Clang 컴파일러 프로젝트의 일환으로 오픈 소스가 될 예정입니다.

소스 제어 및 GitHub

Xcode 9에는 소스 제어 작업은 물론 GitHub를 사용하는 것이 더 편리하고 긴밀하게 통합되어 있습니다. Xcode에 내장된 GitHub 계정을 사용하여 복제 윈도우에 별표 표시한 모든 리포지토리와 함께 모든 개인 GitHub 리포지토리가 표시됩니다. 이 윈도우에서 모든 GitHub를 검색하고 클릭 한 번으로 프로젝트를 확인할 수 있습니다.

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

Swift 4

Apple이 이끄는 Swift.org 오픈 소스 커뮤니티에서는 더 빠른 응용 프로그램과 더 작은 실행 파일을 만드는 동시에 Swift에서 신속하게 구축할 수 있도록 돕고 있습니다. 새로운 Swift 4 컴파일러는 이제 Swift 3 코드를 이해합니다. Xcode 9으로 즉시 편리하게 이동하여 응용 프로그램에서 Swift 4로 이동할 준비가 된 부분을 선택하고 나머지 코드는 나중에 마이그레이션할 수 있습니다. 또한 Swift 4는 향상된 문자열 유형을 제공합니다.

Swift 4에 대해 더 알아보기

코드 없이 연결

Mac에 USB 코드를 연결하지 않고 로컬 네트워크의 iOS 또는 tvOS 기기를 선택하여 앱을 설치, 실행 및 디버깅할 수 있습니다. 새로운 iOS 기기를 처음 사용할 때 'Connect via Network'(네트워크로 연결) 체크상자를 클릭하기만 하면 이후로는 네트워크를 통해 해당 기기를 사용할 수 있습니다. 무선 개발은 Instruments, Accessibility Inspector, Quicktime Player 및 콘솔을 비롯한 다른 앱에서도 작동합니다.

시뮬레이션 및 테스트

새로운 시뮬레이터 앱은 새로운 모습으로 더 빠르게 실행되도록 획기적으로 업그레이드되었으며, 이제 시뮬레이션하는 기기와 동일한 윈도우가 나타납니다. 기기에 있는 버튼이 예상대로 작동하고, 스크린 에지에서 제스처를 시뮬레이션할 수도 있습니다. Touch Bar 지원으로 탭 한 번만 하면 회전과 같은 빠른 동작을 수행할 수 있습니다.

시뮬레이터의 여러 인스턴스를 실행하고 테스트를 병렬로 실행하여 속도를 높이거나, 여러 기기에서 iCloud와 동기화하는 등의 작업을 조정하는 앱을 테스트할 수 있습니다. 여러 인스턴스를 구동하는 경우에도 명령어 라인에서 시뮬레이터를 쉽게 실행할 수 있으므로 자동화된 테스트에 이상적입니다. 또한, Xcode Server는 Xcode에 내장되어 있고 더 이상 별도의 macOS Server 앱이 필요하지 않으므로 모든 Mac에서 더 간단하게 설정할 수 있습니다. 지속적으로 앱을 빌드하고 테스트하는 것이 쉬워졌습니다.

50 더 빠른 검색

어디서나 빠르게

새로운 인덱싱 엔진이 빌드 프로세스의 일부로 실행되므로 작성한 코드를 Xcode에서 자동으로 이해합니다. Open Quickly(빠르게 열기)와 같은 인덱스를 사용하는 작업이 훨씬 더 빨라졌습니다. 대형 프로젝트 검색이 상상을 초월하는 정도로 최대 50배 더 빨라진 것을 느낄 수 있습니다. 또한, 새로운 빌드 시스템은 컴파일러, 링커 및 기타 도구를 조정하는 작업의 오버헤드를 크게 줄입니다.