Programming/Tool

[Xcode] New Features in Xcode 6

MB Kyle KWON 2014. 8. 28. 13:25

Swift

Swift는 iOS/OS X개발을 위한 새로운 객체지향 언어이다. 

    • Fast. 앱을 만들기 위한 LLVM의 향상된 코드 분석을 통한 컴파일과 최적화를 제공한다.
    • Complete platform. Swift를 통해 모든 cocoa/cocoa touch를 사용 가능하다.
    • Safe by design. 버그, 크래쉬, 보안 취약점 등을 사전에 예방할 수 있다.
    • Modern 코드의 양을 줄이고 헤더파일을 제거 했으며 Modern 프로그래밍 언어의 특징을 수용했다.
    • Interactive. Swift를 통해 즉각적인 결과물을 시험이 가능하다.
    • Unified. C와 objective-C를 완전히 대체할 수 있는 언어이다.

Swift 관련 포스팅



Xcode 6 feature for Swift

    • Playground
    • Learn in a playground
    • Read-eval-print loop (REPL) in LLDB
    • Per-language documentation
    • Synthesized headers



Testing

    • Performance measurement. XCTest를 통하여 앱의 부분부분의 성능을 측정할 수 있도록 지원한다.
    • Asynchronous code testing. XCTest가 비동기적으로 작동하는 fileIO, network 동작 등을 테스트하도록 지원한다.



Interface Builder

    • Live rendering. 소스코드를 수정한 후, 빌드과정없이 즉시 canvas에 반영된 UI를 확인할 수 있다.(IB_DESIGNABLE) 또한 Inspector에 property를 추가하여 사용할 수 있다.(IBInspectable)
    • Storyboards for OS X. App kit의 새로운 ViewController API 및 segue 등 OS X 스토리보드를 통한 풍부한 UI를 지원한다.
    • Size Classes. Size classes로 하나의 universal 스토리보드를 통하여 모든 사이즈의 iPhone, iPad를 지원한다.
    • Custom iOS fonts. 인터페이스 빌더를 통하여 내장된 custom font 사용 가능하다.



Debugger

    • View debugging. 디버깅 중 브레이크 포인트에 걸렸을 때, 'explodes' 버튼을 누르면 바로 그 시점에서 view들을 3D 렌더링해서 확인 가능하다. view의 순서도 시각적으로 분명하게 보여준다. view를 선택하면 보조 에디터를 통하여 관련된 소스코드를 표시해준다.
    • Enhanced queue debugging. 현재 큐에서 실행 중인 블록뿐만 아니라 최근 실행된 블록까지 볼 수 있다. 그리고 실행을 위해 큐에서 대기 중인 블록들을 확인할 수 있다.
    • Debug gauges. 디버그 게이지는 디버깅이 되는 동안 리소스의 사용량에 대한 부가 정보를 알려준다. 디버그 게이지는 사용자 경헌을 저해하거나 휴대용 맥 혹은 iOS 장비들의 배터리를 소모시키는 등의 당신이 미처 깨달치 못했던 영역에 대해 일러준다.
      • I/O gauges. 새로 2가지의 gauge가 추가됬다. 네트워크와 파일 활동을 gauge를 통해 확인 가능하다.
      • iCloud gauge. iCloud gauge를 이용하면 app외에 있는 파일 저장소인 Cloud와 Cloud kit에 관한 디버깅을 지원한다. 



Sprite Kit

    • Graphics and game development. 새로운 sprite kit 디자이너와 디버깅을 할 때, sprite kit 변수에 대한 향상된 정보창을 제공한다.
    • Support for iOS. 



Extension and Frameworks

    • Extension support. iOS와 Mac 앱에 대해 다른 앱들과의 기능성을 확장시켰다. Xcode는 실행시킬 때, extension을 연결한다.
    • Framework for iOS. iOS 개발자는 동적 프레임워크를 작성할 수 있다. 프레임워크는 여러 프로젝트에 걸처 뛰어난 기능들이 캡슐화된  코드와 리소스의 집합이다. 프레임워크는 extension, bundle extension에 의해 사용되어 지는 공유 로직으로서 완벽히 작동을 한다.



iOS Simulator

    • Configurations. 새로운 iOS 시뮬레이터상에서 Configuration(이하 'config')을 설정할 수 있다. 각 앱 버전에 config를 설정하여 버전 별로 각 앱 데이터와 config 등을 설정 가능하다.



Localization

    • XLIFF import-export. Xcode는 localization이 된 문장들을 사업 표준인 XLIFF로 패키징할 수 있다. localization 작업이 완료되면 새로운 언어를 프로젝트에 추가하기 쉬어진다.
    • Implicit .string file. Xcode는 자동적으로 당신의 소스코드를 기반으로 기본 언어에 대한 .string파일을 자동적으로 생성한다. 더이상 손으로 .string를 관리할 필요가 없다.
    • Preview in interface builder. interface builder를 통하여 디자인을 하는 동안 preview assistant를 통하여 다른 언어 버전에서 앱이 어떻게 보이는지 확인 할 수 있다. 언어의 길이에 다른 인터페이스의 변화를 확인할 수 있다.
    • Run in locale.




Compiler

    • Profile guided optimization. Profile guided optimization(이하 'PGO')는 LLVM 최적화기와 호환되며 당신의 앱의 거의 모든 부분에 대해 프로파일링하여 성능 테스트를 한다. 당신은 성능 프로파일을 직접 만들수 있으며 이를 이용하여 앱을 최적화 하거나 최적화가 필요한 부분을 지정하는데 활용할 수 있다.
    • User-defined modules.



Instrument

    • New user interface.
    • Profile tests.
    • Support for simulator configurations. Simulator configuration은 instrument에 의해 다루어 지며 simulator의 process에 할당하거나 동작하기 쉽다.
    • New counters instrument.
    • Swift and Extension support. Swift를 지원한다. stack trace의 Swift 심볼을 확인 가능하며 할당된 Swift 타입도 확인할 수 있다. App extension을 프로파일링하기 위한 instrument를 사용할 수 있다.



Xcode Server

    • Triggers. Triggers는 Xcode scheme의 실행을 전, 후로 실행 스크립트 룰에 의해 당신이 복잡한 통합 시나리오를 만들수 있도록 해준다. 
    • Performance test integrations. Xcode 서버는 새로운 성능 테스트 기능들을 지원한다. 이는 팀이 지속적인 성능 테스트를 위한 맥과 장비 그룹을 공유하기 쉽게 해준다.
    • Delta trackings. 통합 과정마다 이슈는 트래킹되어진다. 누군가에 의해 발생하거나 고쳐졌을 때 확인할 수 있다.
    • Greater control. Xcode 서버의 configuration option은 개발 팀에게 봇의 실행 이상의 control을 제공한다. 통합 주기, 봇의 그루핑, iOS 시뮬레이터 config는 Xcode 봇이 이전보다 더욱 강력하게 만들어준다. 새로운 report UI를 제공한다. 



Home Kit Accessory Simulator

    • Home kit capability. 새로운 Home kit 프레임워크는 당신의 앱이 집안의 기구들과 연결되고 조종할 수 있도록 해준다. 당신의 iOS앱과 Home kit을 사용하기 위해 Home kit 스위치를 설정할 수 있다.(Xcode > Open Developer Tool > Home kit Accessory Simulator)


'Programming > Tool' 카테고리의 다른 글

[SVN X] Mac에서 SVN X를 이용한 SVN 사용하기  (0) 2015.12.22
[VI/VIM] VI와 cscope의 연동  (0) 2013.06.18
[cscope] cscope 사용법  (0) 2013.06.18
[ctags] ctags 사용법  (0) 2013.06.18
[VI/VIM] 개발 환경 설정  (0) 2013.06.18