+ All Categories
Home > Documents > B5 0101 About Xcode.graffle - ipTIME

B5 0101 About Xcode.graffle - ipTIME

Date post: 22-Jan-2022
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
10
4 머릿말 목차 1장 Xcode에 대하여 2장 OS X 프로그래밍의 시작 3장 OS X의 다양한 뷰 오브젝트 4장 컨트롤러와 화면 구성 5장 스토리보드와 컨트롤러 6장 OS X 자료 관리 7장 콘테이너 뷰 8장 NSTableView 9장 주요 추가 기능 285 251 227 189 143 99 73 35 15 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10장 다양한 Xcode의 Kit 11장 iOS 프로그래밍의 시작 12장 제약 조건과 자동 레이아웃 13장 다양한 컨트롤러 14장 iOS 자료 관리 15장 ARKit 335 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transcript

4 머릿말

목차

1장 Xcode에 대하여

2장 OS X 프로그래밍의 시작

3장 OS X의 다양한 뷰 오브젝트

4장 컨트롤러와 화면 구성

5장 스토리보드와 컨트롤러

6장 OS X 자료 관리

7장 콘테이너 뷰

8장 NSTableView

9장 주요 추가 기능

285

251

227

189

143

99

73

35

15

5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10장 다양한 Xcode의 Kit

11장 iOS 프로그래밍의 시작

12장 제약 조건과 자동 레이아웃

13장 다양한 컨트롤러

14장 iOS 자료 관리

15장 ARKit

335. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

379. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

415. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

463. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

483. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Xcode에 대하여 5

1장 Xcode에 대하여

1절 Xcode 시작하기

난이도중요성

2절 Xcode 화면 익히기

3절 Xcode 보조 편집기

6 Xcode에 대하여

1절 Xcode 시작하기 최근 작업한 프로젝트다시 열기

스위프트 시험용 놀이터

기존 프로젝트복사하기

새로운 프로젝트만들기

iOS용*어플리케이션

macOS, OS X용어플리케이션

* iOS용 어플리케이션에는 위의 오른쪽 그림처럼 다양한 형식의 형판(template)를 제공한다. 교재에서는 우선

Xcode와 친숙해지기 위해 OS X(macOS)용의 Cocoa App 제작을 먼저 알아보도록 한다.

1장 Xcode에 대하여

Xcode에 대하여 7

새로운 프로젝트이름 지정

사용언어 선택Objective C 또는 Swift

•Product Name(프로젝트 이름)

개발 환경 폴더, 실행 패키지(application), 실행 파일 이름을 결정

•Organization Name(개발 조직 이름)

개발 조직을 대표할 수 있는 이름

•Organization Identifier(개발 조직 식별자)

개발 조직을 시별할 수 있는 도메인 이름을 역순으로 표기 예) iconer.co.kr → kr.co.iconer

•Language(사용 언어)

프로젝트에서 사용할 언어 선택, Swift 또는 Objective C

•Document Extension(개발 환경 확장)

스토리보드(Storyboard) : 화면 디자인으로 인터페이스 빌더(Interface Builder)를 사용할 경우

문서 기반(Document-Based) 어플리케이션 : 문서 기반 다중 윈도우 어플리케이션을 개발할 경우

코어 데이터(Core Data) : 스키마를 지원하는 코어 데이터를 사용할 경우

단위 시험(Unit Tests) : 단위 시험을 위한 추가 모듈 생성

개발 환경 확장을 위한옵션 설정

개발 조직이름 및 식별자

8 Xcode에 대하여

2절 Xcode 화면 익히기

Navigator내비게이터

Workbench*작업대

Standard Editor표준 편집기**

Utilities유틸리티

Library라이브러리

Debug > Console콘솔

Debug > Variables변수 모니터

Assistant Editor보조 편집기**

* Workbench(작업대)는 프로젝트 내비게이터에서 스토리보드(storyboard) 파일을 선택했을 때만 나타난다.

** Xcode의 표준 편집기 또는 보조 편집기 상에 소스코드가 표시된 경우 Option 키를 누르고 있으면 커서는 물음

표로 변경된다. 이때 마우스로 클릭을 하면 도움말이 팝오버(5장 스토리보드) 형태로 표시된다.

if([info draggingSourceOperationMask] == NSDragOperationCopy) {?도움말Option

클릭

Xcode에 대하여 9

내비게이터, 디버그, 유틸리티/라이브러리패널 보이기/감추기

표준 편집기/보조 편집기 선택버전 편집기* 관리

* 이 교재에서는 버전 편집기 기능을 사용하지 않는다. 디버그 영역에서 변수 모니터/콘솔 화면 켜기/끄기콘솔 화면 지우기

?

또한 소스코드 편집시 유틸리티 패널 >

도움말(Help)에는 현재 커서가 위치한 구

문을 위한 도움말 항목이 표시된다. 표시

되는 내용은 왼쪽의 Option 버튼에 의해

나타나는 내용과 동일하다. 자주 사용하는 기능이므로 꼭 숙지가 필요하다. 가장 하단에 Open in Developer

Documentation 항목을 클릭하면 개발자 문서 창을 열어 연관된 내용을 찾아볼 수 있다.

10 Xcode에 대하여

내비게이터

표준 편집기유틸리티

변수 모니터라이브러리

보조 편집기

콘솔

Project Source Control

Symbol Find Issue Test Debug Break- point

Report

File Help IdentityAttri-butes Size

Connect-ions Bindings

View Effects

FileTemplate

Code Snippet

Object Library

Media Library

•Project(프로젝트)

현재 프로젝트를 구성하는 파일들을 트리(tree) 구조로 나열하여 편집기에 띄울 수 있다.

•Issue(이슈, 문제)

프로젝트를 로딩, 컴파일, 수행하면서 발생된 문제들을 나열하고 자세히 볼 수 있다.

•Debug(디버그)

프로젝트가 수행되면서 사용하는 CPU, 메모리, 전력, 디스크, 네트워크 자원에 대해 이력 확인

•Breakpoint(정지점)

프로그래머가 지정한 정지점에서 수행이 일시 중지되고 관련 변수와 상태를 모니터링

?

{ }!

Xcode X에서는 라이브러리 패널이 사라지고 필요할 때마다View > Libraries > Show Library (단축키 ⇧ L) 기능으로열어서 사용한다. 미디어는 View > Libraries > Show Media Library (단축키 ⇧ M) 기능을 사용한다.

Xcode에 대하여 11

3절 Xcode 보조 편집기

이제 Cocoa App 형식의 Objective C 언어를 사용하는 첫 프로젝트를 열고 보조 편집기에 대해 알아본다. 사실

Xcode를 사용할 때 첫 번째 혼란을 유발하는 부분이 편하게 사용할 수 있는 보조 편집기(assistant editor)이다.

AppDelegate.h/m

ViewController.h/m

main.m

Main.storyboard

Project P-001 화면 왼쪽 상단에 있는 내비게이터에는 프로젝트가 사용하는 파일이

나열되어 있다. main.m과 Main.storyboard 파일을 제외하면 헤더

*.h와 모듈 *.m 파일 형식으로 서로 쌍을 맺고 있다. Xcode에서는 이

런 쌍을 상대편(counterparts)이라고 한다.

먼저 내비게이터에서 AppDelegate.h 파일을 선택하여 표준 편집기

(standard editor)에 열어준 후에 다음 아이콘을 눌러 보조 편집기를

열어준다.

관련메뉴

Counterparts

P-001 AppDelegate.h No SelectionP-001

AppDelegate.m AppDelegate()

표준 편집기

보조 편집기

선택한 파일의 이전또는 이후 파일로 이동

프로젝트/폴더 선택한 파일과 커서의 선택 영역

선택한 파일의 상대편파일 표시

Manual : 선택한 파일과 관련된 패키지나 파일 나열

Counterparts : 표준 편집기 파일의 상대편 파일

Superclasses : 슈퍼 클래스 파일들

Subclasses : 서브 클래스 파일들

Siblings : 형제 클래스 파일들

Extensions : 확장 파일들

Categories : 연관된 카테고리 파일들

Protocols : 연관된 프로토콜 파일들

*.h 또는 *.m 선택시

*.storyboard 선택시

Manual

Automatic : 표준 편집기 파일에 따라 자동 선택

Top Level Objects : 프로젝트의 최상위 클래스

Show Issue

Jump To Definition

Show Last Change For Line

...

...

12 Xcode에 대하여

AppDelegate.m AppDelegate()

※ 보조 편집기에서 수동(manual)으로 선택할 수 있는 다양한 파일들

프로젝트에서 사용하는 일반적인 파일을 열었을 때 보조 편집기를 수동 모드로 놓으면 다음과 같이 프로젝트를 구

성하는 파일을 직접 선택하여 열 수 있다.

Manual

Manual P-001 P-001

Products

AppDelegate.h

AppDelegate.m

ViewController.h

ViewController.m

Assets.xcassets

Main.storyboard

Info.plist

main.m

P_001.entitlements

그러나 경우에 따라서는 시스템에서 제공하는 Foundation, AppKit, Cocoa 등의 헤더 파일을 보고 싶을 때가 있다.

메뉴의 Superclasses를 통해 보는 것은 한계가 있다. 이런 경우 소스 코드에서 열고자 하는 클래스 이름이나 소스코

드 파일 이름 위에서 오른쪽 버튼을 눌러 Jump To Definition(정의 부분으로 이동) 기능을 선택한다.

#import <Cocoa/Cocoa.h>

@interface ViewController : NSViewController

@end

#import <Foundation/Foundation.h>#import <AppKit/AppKit.h>#import <CoreData/CoreData.h>

Cocoa/Cocoa.h

Cocoa.h 파일에 커서를 두고 오른쪽 버튼(Ctrl+클릭)을 눌러 확장 메뉴를 열어준다.

메뉴에서 Jump To Definition을선택하여 코드의 정의 파일을 연다.

Cocoa.h 파일은 놀라울 정도로 단촐하다. 단지 세 개의 헤더 파일만 임포트한다. Foundation은 지난 교재에서 알아보았고 이번 교재에서는 AppKit과 CoreData에 대해 알아본다.

Ctrl+클릭

AppKit

AppKit.h

Xcode에 대하여 13

왼쪽과 같이 Cocoa.h 파일(시스템 소스 파일)이 열린 상태에서 편집기를 수동(manual) 모드로 변경하면 지금까지

는 보지 못한 다양한 라이브러리와 프레임워크, 또 그 내부에 포함된 헤더 파일을 손 쉽게 열어볼 수 있다. 이러한

라이브러리는 시스템 소스 파일이 수동 상태로 열려야만 볼 수 있다.

AppDelegate.m AppDelegate()Manual

Manual tvOS 11

AppKitDefines.h

AppKitErrors.h

iOS 11

macOS 11

watchOS 11

Frameworks

usr/include

AppKitScripting

AppleScriptKit

AppleScriptObjC

...

...

이런 방법으로 시스템 소스 파일을 Xcode에서 손쉽게 살펴볼 수 있다. 시

스템 파일은 시스템 권한에 의해 사용자가 수정할 수 없으므로 실수로 원

치 않는 변경에 대해 걱정할 필요는 없다. 보조 편집기의 UI 디자인은 대단

히 편리한 듯 보이지만 답답한 부분도 상당히 많다.

Xcode에서 관련된 파일을 찾는 또 다른 방법으로 File > Open Quickly...

가 있다. 이 메뉴 기능를 실행하면 다음과 같은 검색창이 나오고 입력한 키

워드를 포함하는 Xcode 내부의 모든 파일을 빠르게 검색해준다.

FileXcode

Add Files to "P-001"...

Open

Open Recent

New

Open Quickly...

...

Edit View

Open Quickly...

stdlib

h

h

stdlib.hmacOS 10.14

_stdlib.hmacOS 10.14 > xlocale


Recommended