BLOG ARTICLE Xcode 3 | 5 ARTICLE FOUND

  1. 2008.08.14 Xcode 3 둘러보기(3) - 기타 (6)
  2. 2008.07.29 Xcode 3 둘러보기(1) - Xcode (10)
  3. 2008.07.29 Xcode 3 다운로드 및 설치 (2)
  4. 2008.07.28 스크래치 강좌 끝~ (8)
  5. 2008.03.26 Xcode 3 시연 동영상 (4)

이번 포스팅에서는 Xcode 3에서 2.0으로 업그레이드 된 Objective-C와 추가된 컴파일 옵션에 대해서 알아 보겠습니다.

역시나 깊이도 없고 내용도 별로 없는 제목 그대로 둘러보기 입니다. 자세하고 정확한 자료는 아래의 애플에서 제공하는 문서들을 참고하시기 바랍니다.



1. Objective-C 2.0

1) 가비지 컬렉션 지원
Cocoa Object에 가비지 콜렉션이 지원됩니다. 이제는 더이상 retain, release에 신경을 쓰면서 오브젝트의 retain counts를 관리할 필요가 없게 되었습니다. 가비지 컬렉션은 기본으로 꺼져있습니다. 이를 사용하기 위해서는 Project 정보 윈도우의 Build에서 GCC 4.0 - Code Generation 분류중 'Objective-C Garbage Collection' 항목에서 지원여부를 선택해야 합니다.
   
사용자 삽입 이미지

* Unsupported
가비지 컬렉션을 사용하지 않습니다.

* Supported (-fobjc-gc)
가비지 컬렉션과 이전의 retain/release를 병행해서 사용할 수 있습니다.

* Required (-fobjc-gc-only)
가비지 컬렉션만 사용하고 이전의 retain, release를 사용하지 않습니다. 새롭게 시작하는 프로젝트는 이 옵션을 선택하는 것이 좋을 것 같습니다.

가비지 컬렉션에 의해 메모리에서 삭제되는 오브젝트에게는 finalize이란 메시지가 전달됩니다. 이 메시지를 처리할 경우에는 반드시 super의 finalize도 호출해야 합니다.

- (void)finalize
{
    ...
    ...
    [super finalize];   
}


2) Property

@property와 @synthesize를 이용하여 class 내부변수를 편리하고 쉽게 관리할 수 있습니다.

@property(속성) 타입 변수명;
@synthesize 변수명

property의 속성들은 아래와 같으며 ','로 구분합니다.

* getter
getter=getName과 같이 getter 함수의 이름을 지정합니다. 특별히 지정되지 않았을 경우에는 변수명과 같은 이름이 사용됩니다.

* setter
setter=setName과 같이 setter 함수의 이름을 지정합니다. 특별히 지정되지 않았을 경우에는 set[변수명]으로 사용됩니다.

* readonly
읽기전용으로 getter 함수만 사용 가능하고 setter 함수는 사용할 수 없습니다.

* readwrite
getter, setter 함수 모두 사용할 수 있습니다.

* assign
setter에서 'value = newValue;'와 같이 단순한 할당이 적용됩니다;

* retain
아래와 같이 할당시 변수의 retain이 적용됩니다.
if (value != newValue)
{
    [value release];
    value = [newValue retain];
}

* copy
아래와 같이 할당시 변수의 copy가 적용됩니다.
if (value != newValue)
{
    [value release];
    value = [newValue copy];
}

아래는 property와 synthesize의 사용예입니다. property는 interface내에서 synthesize는 implementation내에서 선언됩니다.

* MyObject.h
#import <Cocoa/Cocoa.h>

@interface MyObject : NSObject {
    NSString *myName;
}

@property(copy,readwrite) NSString *myName;

@end

* MyObject.m
#import "MyObject.h"

@implementation MyObject
@synthesize myName;

@end

이제 getter와 setter의 구현없이 소스코드에서 아래와 같이 사용할 수 있습니다.
MyObject *myObject = [[MyObject alloc] init];

[myObject setMyName:@"KingKong"];
NSLog(@"%@", [myObject myName]);


3) Dot(.) 문법지원
C++, Java에서 사용하는 '.'를 사용할 수 있게되었습니다. '[obj myName]'과 같이 사용하던 것을 'obj.myName'으로 사용할 수 있습니다. 아래가 사용예입니다.

obj.myName = @"cocoa"; // [obj setMyName:@"cocoa"];
NSLog(@"%@", obj.myName); // NSLog(@"%@", [obj myName]);


4) 에뉴뮬레이션 문법 지원
C 스타일의 for문 대신에 "for ([변수] in [collection 오브젝트])"와 같이 편리하게 사용할 수 있습니다. collection 오브젝트에는 NSArray, NSDictionary, NSSet등의 클래스의 인스턴스가 올 수 있습니다.

NSArray *myArray = [NSArray arrayWithObjects: @"A", @"B", @"C", nil];
   
for (int i = 0; i < [myArray count]; i++) {
    NSLog(@"%@", [myArray objectAtIndex:i]);
}
       
for (NSString *str in myArray) {
    NSLog(@"%@", str);
}



2. 다양한 플랫폼 지원

1) OS X 지원
OS X 10.5, OS X 10.4, OS X 10.3(Xcode 설치시 옵션)의 여러 OS X 버젼과 아이폰을 지원합니다.

사용자 삽입 이미지

2) 64bit 아키텍쳐 지원
이제 코코아 어플리케이션도 64비트로 작성할 수 있습니다.  

사용자 삽입 이미지

3) 컴파일러(GCC) 버젼 선택
GCC 버젼을 선택할 수 있습니다. Xcode 2.5에서도 사용했던 4.0 버젼이 기본으로 선택되어 있으며, 최신버젼 4.2 또는 시스템에 실치된 gcc도 사용이 가능합니다. 그리고 LLVM(Low Level Virtual Machine)을 지원하는 gcc도 선택할 수 있습니다.

사용자 삽입 이미지


가비지 컬렉션, Property나 에뮬레이션 지원은 반가운 소식인데 닷('.') 문법 지원은 다소 의외입니다. '.'을 사용한 소스를 보면 C++, Java 프로그래머들은 처음 접할 시에 이질감이 덜하겠지만, Objective-C스러운(?) 맛이 줄어 들지 않을까 기우가 듭니다.

아무튼 애플에 의해 Objective-C가 다른 언어들의 장점을 흡수하면서 발전하는 모습을 보니 좋습니다.

Xcode 3.1을 제가 사용해 보면서 눈에 뛰는 점들만 알아 보겠습니다. 사용 경험이 없어 틀린 내용이나 중요하지만 언급하지 않은 내용들이 많이 있을 수 있습니다. 틀린 내용들은 알려 주시면 수정하겠습니다.

제목 그대로 깊이 없고 두서 없는 '둘러보기'식 내용이니, 정확하고 체계적인 내용은 애플에서 제공하는 아래의 문서들을 확인해 보시기 바랍니다.



1. 인트로(Welcome) 화면
Xcode 시작시에 인트로 화면이 추가되었습니다. 보통 어플리케이션 사용시에 이런 Welcome이나 오늘의 팁 같은 기능들은 잘 사용하지 않습니다. 하지만 Xcode에서는 RSS로 새로운 소식들도 보여주고, 순간 관심이 가는 링크들을 클릭해서 내용도 읽어 보기 위해서 하단의 'Show at launch'를 체크해 놓고 시작할 때 마다 한번씩 새로운 소식들을 확인해 볼 수 있습니다. 화면은 아래와 같이 다섯개의 색션으로 되어 있습니다.

1) Getting Started
  • Create your first Cocoa application
  • Build your user interface
  • Store your application data
  • Optimize your application

위와 같이 4개의 내용으로 구성되어 있으며 각 제목을 클릭하면 해당 도움말이 열립니다. Xcode 3을 처음 실행하는 분들은 한번씩 읽어 볼만한 내용들입니다. Xcode는 소개화면에서 다섯개의 색션중 최종적으로 선택한 색션을 기억하고 있습니다. 'Getting Started'는 한번정도 볼만한 내용이므로 RSS 색션을 선택해 놓고 종료하면 다시 실행될 때 RSS 색션으로 열립니다.

2) iPhone Dev Center
아이폰 개발과 관련된 Video, Sample Code, Reference Library에 대한 링크로 구성되어 있습니다. 클릭하면 ADC의 해당 문서가 웹브라우져에서 열립니다. 모바일에서의 개발이 맥에서 개발보다 앞에 위치 있다는 것은 애플이 iPhone에 많은 기대를 가지고 있다는 것을 보여 주는 것 같습니다. 개발자도 iPhone 개발자들이 더 많은지는 잘 모르겠습니다.

3) Mac Dev Center
내용은 위와 동일하며 OS X에서 개발에 관련된 Video, Sample Code, Reference Library에 대한 링크로 구성되어 있습니다.

4) Xcode News [RSS]
맥 개발과 관련된 최신 뉴스를 확인할 수 있습니다. 하단의 Mac OS X, Mac OS X server, Core Foundation, Quicktime, Internet & Web, Games, Graphics & Imaging, Networking 링크를 클릭하면 해당 색션의 RSS를 등록할 수 있습니다. 애플에서 제공하는 개발 관련 RSS 목록은 'More RSS feeds...'를 클릭하거나 개발자 RSS Feeds 페이지에서 확인할 수 있습니다.

5) Mailling Lists
맥 개발과 관련된 메일링 리스트들입니다. 뉴스와 마찬가지로 RSS로 등록하여 확인할 수 있습니다. 애플과 관련된 전체 메일링 리스트들은 'More...'를 클릭하거나 Apple Mailing Lists 페이지에서 확인할 수 있습니다.

6) Tips
Xcode 사용에 관련된 팁들이 있습니다. 주로 Xcode 3에서 추가된 기능들에 관한 설명들이 있으며, 아쉽지만 내용이 다시 실행될 때 마다 변경되지는 않는 것 같습니다. 버젼업 때마다 변경되는 것인지 일정 기간을 두고 변경되는지도 모르겠습니다.


2. New Project
가장 먼저 New Project를 실행해 보았습니다. UI를 제외하고는 이전과 비슷해 보입니다.
사용자 삽입 이미지
iPhoneSDK를 설치하였기 때문에 템플릿중에 iPhone OS 항목이 있습니다. 이외에 MAC OS X의 Application항목에서 Cocoa-Python과 Cocoa-Ruby에 관련된 템플릿들이 많이 추가되었습니다.

사용자 삽입 이미지


3. 에디터
'TestXcode3'로 새로운 Cocoa Application 프로젝트를 생성하였습니다. 겉으로 단순히 보기에는 Xcode 2.5와 큰 차이점이 보이지 않습니다.
사용자 삽입 이미지
이 프로젝트에서는 텍스트 필드에 입력 받은 내용을 버튼을 클릭하면 라벨에 출력하는 간단한 어플리케이션을 만들어 볼려고 합니다. 먼저 AppController 클래스를 생성하였습니다.

1) 자동완성/제안 기능 향상
사용자 삽입 이미지
IB까지 입력하면 IBAction과 같이 출력 됩니다. 여기서 엔터를 입력하면 자동으로 IBAction이 입력됩니다. IBO까지 입력하면 좌측과 같이 IBOutlet이 출력되며 이상태에서 엔터를 입력하면 IBOutlet으로 완성됩니다. 프레임워크 와 사용자가 정의한 변수, 함수, 상수등의 모든 입력에서 적용됩니다.

사용자 삽입 이미지
메소드에서도 인자의 정보를 알 수 있어 편리합니다. 얼마 사용하지 않았지만 일반적으로 팝업을 뛰우는 방식과 비교해서 매우 빠르고 편리한 것 같습니다.
 
2) 블럭
* Focus ribbon

사용자 삽입 이미지
또 하나 재미있는 기능은 구역별로 범위를 확인하거나 감출 수 있다는 것입니다. 이런 기능을 가진 툴들은 보았지만 시각적인 효과에 있어서는  Xcode가 가장 인상적인 것 같습니다.

새로 추가된 좌측의 회색 바(Focus ribbon)를 보면 내부로 구역이 중첩될 수록 진하게 표시됩니다. 저 범위에 마우스를 가져가면 범위를 확인하거나 출력되는 삼각형 모양의 아이콘을 클릭하여 해당 범위를 감출 수 있습니다.


* Code folding
사용자 삽입 이미지
가장 바깥쪽의 @implementation 구역에 마우스 커서를 가져가면 좌측과 같이 해당 구역만 하이라이트되어서 보여집니다.

상하로 삼각형 모양의 아이콘이 범위의 시작과 끝을 알려 줍니다. 이 아이콘을 클릭하면 아래와 같이 @implementsion 내의 내용이 생략되어 보여집니다.






사용자 삽입 이미지
[''']가 구역내의 내용이 생략되었다는 표시입니다. 좌측의 삼각형을 클릭하면 다시 위와 같이 펼쳐집니다.

아래의 이미지들을 확대해서 위의 이미지와 비교해서 보시면 이 기능과 화면효과에 대해서 짐작이 가실 것입니다.
사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

사용자 삽입 이미지
또하나 입력시에 (), [], {}가 끝나는 부분에서 대응되는 시작위치를 알려 주는 기능이 좀 더 시각적으로 변경되었습니다.

4) Message bubbles
이제 빌드를 해보겠습니다. 아래가 빌드 후에 결과 화면입니다.

사용자 삽입 이미지

오류와 경고 메시지가 아주 이쁜(?) 모양으로 강조되어 출력됩니다. 첫번째 오류는 k++ 다음에 ';'를 생략해서이고, 그 아래의 경고는 헤더 파일에서 setLabelText의 선언을 구현과 다르게 해놓았기 때문에 출력되었습니다. 물론 이전과 같이 별도의 결과창도 존재합니다.

5) 스냅샷
스냅샷은 소스내의 변경사항을 간편하게 저장하고 복구할 수 있는 간편한 방법입니다. 소스를 변경하고 Control+Command+s 또는 메뉴에서 File/Make Snapshot을 클릭하면 현재의 상태가 저장됩니다.

#import <Cocoa/Cocoa.h>

@interface AppController : NSObject {
    IBOutlet NSTextField *inputText;
}

@end

AppController.h에서 위의 상태에서 스냅샷을 설정하고 다시 "- (IBAction)setLabelText:(id)sender;" 선언을 추가한 후에 다시 스냅샷을 설정합니다. 이제 File메뉴 밑의 Snapshot을 실행합니다.
사용자 삽입 이미지
위와 같이 처음 설정한 곳과 다음 설정한 곳의 차이점을 diff와 같이 보여 줍니다. 툴바의 'Restore' 버튼을 클릭하면 이전 상태로 복구됩니다. 이와 같이 CVS나 SVN을 사용하지 않는 혼자서 진행하는 간단한 프로젝트에 사용하거나 저장소와 병행하여 간편하게 사용할 수 있습니다.

6) 리펙토링
클래스나 변수, 함수의 이름을 변경하고 슈퍼클래스를 생성하고 메소드를 상위 클래스 또는 하위 클래스로 이동하는 작업을 편리하게 관리할 수 있습니다. 변경된 사항은 관련된 소스와 파일에 자동으로 반영됩니다.

사용방법은 변경할 아이템을 선택한 후에 Shift + command + j 또는 메뉴의 Edit에서 Refactor...를 선택하면 실행됩니다. 

* Rename
AppController 클래스의 이름을 변경해 보겠습니다. 선택사항을 확인한 후에 입력창에 변경될 이름을 입력합니다. Snapshot에 체크를 하면 변경된 내역이 스냅샷에 저장이 됩니다. 저는 아래와 같이 'MyAppController'로 입력하였습니다. 변경될 이름을 입력했으면 [Preview] 버튼을 클릭합니다.
사용자 삽입 이미지
하단에 변경될 파일들과 항목의 수를 알려 줍니다.
사용자 삽입 이미지
파일의 클릭하면 해당 파일에서 변경될 내역들을 이전 내용과 비교하여 확인할 수 있습니다. 이상이 없으면 Apply 버튼을 클릭하여 적용합니다.
사용자 삽입 이미지
Xcode에서 파일이름이 'MyAppController.*'로 변경되고 각 소스에 해당 내용이 변경되었음을 확인할 수 있습니다.

사용자 삽입 이미지

* Extract
선택된 내용을 새로 메소드나 함수를 생성하여 추가하여 줍니다. 'abc = newValue;'에 적용하면 아래와 같이 소스 코드가 변경됩니다. (사용방법은 Rename과 거의 유사하기 때문에 생략합니다)

변경전
- (void) setAbc: (int) newValue {
  abc = newValue;
}

 Extract 적용 후
- (void) extracted_method: (int) newValue  {
  abc = newValue;

}
- (void) setAbc: (int) newValue {
  [self extracted_method: newValue];
}

* Encapsulate
클래스 맴버 변수의 setter/getter를 자동으로 생성하여 줍니다. 'int abc;'로 멤버변수를 만들고 Encapsulate를 실행하면 헤더파일과 소스파일에 아래의 내용이 자동으로 추가됩니다.

*.h
- (int) abc;
- (void) setAbc: (int) newValue;

*.m
- (int) abc {
  return abc;
}

- (void) setAbc: (int) newValue {
  abc = newValue;
}

* Create Superclass
해당 클래스의 슈퍼클래스를 생성합니다.

* Move Up
선택된 변수와 메소드를 상위 클래스로 이동합니다.

* Move Down
선택된 변수와 메소드를 하위 클래스로 이동합니다.

* Modernize Loop
아래와 같이 반복문에 적용하면 Objective-C 2.0에 추가된 문법으로 변경하여 줍니다.
while ((item = [enumerator nextObject]) != nil) => while (item in itemArray)

Xcode 3에서 코딩은 아직 해보지 못했지만 몇 번 실행은 시켜 보았습니다. 인터페이스 빌더만 조금 변경된 것 같고 Xcode는 Objective-C 2.0외에는 그다지 변경된 내용이 없는 줄 았았습니다. 하지만 잠시 사용해 보았지만 구석구석 편리한 기능들이 많이 추가되고 개선된 것 같습니다. 다른 개발툴에도 있는 기능들이지만 사용하기 편리하고 보기 좋게 잘 만들어 놓은 것 같습니다.

용어도 잘 모르겠고 제 손에 걸린 것들만 언급을 해서 내용이 매우 부실하니, 시작시에 언급한 문서들에서 확인하시기 바랍니다. 몇 달 더 사용해 보고 '둘러보기'가 아닌 제목으로 다시 한번 포스팅 해보겠습니다.

Xcode는 맥 OS X 어플리케이션과 아이폰용 어플리케이션을 개발할 수 있는 애플에서 무료로 제공되는 통합개발환경(IDE)입니다. Xcode 3는 Max OS X 10.5(레오퍼드) 이상에서만 사용할 수 있습니다.

Xcode는 OS X 설치 CD에 포함되어 있지만 ADC(Apple Developer Connection)에서 최신버젼을 다운로드 받으셔서 설치하는 것이 좋습니다.

1. ADC 회원 가입

사용자 삽입 이미지
ADC에서 Xcode등의 개발툴을 다운로드 받기 위해서는 ADC 회원에 먼저 가입을 해야 합니다. 유료회원에게는 더 많은 서비스와 지원이 제공되지만 무료 온라인 회원으로 가입을 해도 개발툴을 다운로드 받고 관련 문서와 샘플코드를 사용할 수 있습니다

아래는 한국 애플 스토어의 ADC 페이지에서 가져온 각 회원별 가격 및 지원내용입니다.

* ADC Premier 회원- 3,499달러 (364만원)
  • 월드와이드 개발자 컨퍼런스 티켓
  • ADC Software Seeding 프로그램
  • Mac OS X 및 Xcode 도구
  • 8가지 기술 지원
  • 10가지 ADC 하드웨어 할인
  • ADC Compatibility Labs 액세스
  • ADC Monthly Mailing/Download
  • ADC 비즈니스 및 마케팅 프로그램

* ADC Select 회원 - 499달러 (52만원)
  • ADC Software Seeding 프로그램
  • Mac OS X 및 Xcode 도구
  • 2가지 기술 지원
  • 1가지 ADC 하드웨어 할인
  • ADC Compatibility Labs 액세스
  • ADC Monthly Mailing/Download
  • ADC 비즈니스 및 마케팅 프로그램

* ADC Online 회원 - 무료
  • OS X 개발툴 다운로드
  • ADC의 개발 문서 및 샘플코드 다운로드

이외에 학생, 월간 메일링, 기술지원등의 제품이 더 있습니다. 유료 멤버쉽의 유효기간은 1년이며 1년마다 갱신을 해야 합니다. 자세한 정보는 ADC 제품 한국어 사이트에서 확인하세요.


2. 다운로드

가입이 완료되면 Xcode 다운로드 페이지에서 'Download Now' 버튼을 클릭하여 아이디, 패스워드를 입력하고 로그인 후에 Xcode를 다운로드 받습니다. 설치 파일 크기는 1GB 입니다.

사용자 삽입 이미지

현재(2008년 7월) 버젼은 2008년 7월 11일 등록된 3.1 버젼 입니다.


3. 설치
다운로드가 완료되면 Xcode*.dmg 파일을 마운트 한 후에 XcodeTools.mpkg를 실행합니다. 설치화면에서 약관에 동의를 하고 진행하면 아래와 같은 선택사항이 나옵니다.

사용자 삽입 이미지

기본으로 처음 세개의 패키지는 선택되어 있습니다. 그 아래의 체크되지 않은 'Mac OS X 10.3.9 Support'를 선택하면 OS X 10.3(팬서)를 지원하는 SDK와 GCC 3.3를 설치합니다. OS X 10.4(타이거) SDK는 기본으로 포함되어 있습니다. WebObjects를 선택하면 웹서버에서 실행되는 웹어플리케이션인 WebObjects를 지원하는 Java로 된 라이브러리와 툴등의 실행 환경을 설치합니다. 일반적으로 기본 선택사항대로 설치를 하면 무난할 것 같습니다.

사용자 삽입 이미지
완료되면 /Developer/에 관련된 파일과 디렉토리들이 설치됩니다. 그 아래의  Applications 디렉토리에서 Xcode 아이콘을 더블클릭하면 Xcode가 실행됩니다. 이 디렉토리에서 Interface Builder, Dashcode(버젼 2.0), Instruments등 Xcode의 중요 어플리케이션들을 찾을 수 있습니다.
 
사용자 삽입 이미지
사용자 삽입 이미지
자주 쓰는 개발에 관련된 어플리케이션들은 레오퍼드의 스택을 이용하여 독에 등록하면 빠르고 편리하게 사용할 수 있습니다.

적당한 위치에 개발툴이라는 디렉토리를 만들고 필요한 실행파일들의 가상본을 만들어서 해당 디렉토리로 옮겨 놓습니다. 그런 후에 개발툴 디렉토리를 독의 스택 위치로 드래그해서 가져다 놓습니다.







4. iPhone SDK 설치
사용자 삽입 이미지
iPhone 어플리케이션 개발을 위해서는 iPhone SDK를 설치해야 합니다. ADC의 다운로드 페이지에서 다운로드 받으실 수 있습니다. 파일 크기는 1.2GB이며 현재 버젼은 베타 8 (빌드넘버: 9M2199a)입니다.

다운로드가 완료되면 받은 dmg 파일을 더블클릭하고 iPhone SDK를 실행하여 설치하시면 됩니다. 설치가 완료된 후에 Xcode를 실행하고 New Project를 클릭하면 아래와 같이 iPhone OS 개발 환경이 추가되어 있는 것을 확인할 수 있습니다.

사용자 삽입 이미지

App Store에서 iPhone용 어플리케이션을 배포 또는 판매 하기 위해서는 애플의 iPhone Developer Program에 가입을 해야 합니다. Standard Programe은 99달러 Enterprise Program은 299달러 입니다. ADC 멤버쉽과 마찬가지로 역시 1년마다 갱신을 해야 합니다.

등록하면 아래와 같이 제작한 게임을 App Store에 등록하고 판매할 수 있으며, 판매되면 금액의 70%를 받습니다. 애플의 광고대로 신용카드 수수료를 따로 청구하지 않고 App Store를 통해 광고와 안정적인 호스팅을 제공하니 등록비용과 수수료가 그렇게 비싸다는 생각은 들지 않습니다. 

사용자 삽입 이미지

iPhone Developer Program에 자세한 내용은 ADC의 해당 페이지에서 확인하세요.

사용자 삽입 이미지
스크래치에 대해 잘 알지도 못하는 상태에서 시작해서 이제서야 조금 알게 된 것 같은데, '5.3 [고급] 범고래 봉봉 게임'을 마지막으로 스크래치 강좌를 종료 할려고 합니다.

아무런 관심과 피드백은 없었지만 올초에 블로그에서 계획했던 것 중에 하나이기 때문에 혼자 즐기면서 잘 포스팅을 해 온 것 같습니다. 지금와서 보면 틀리고 부끄러운 내용들도 많지만 그동안 올린 내용들을 나열해 놓고 보니 블로그에서 혼자 노는 것이 '아, 이 맛이구나!'하는 생각이 듭니다.

사용자 삽입 이미지

년초에 '스크래치 강좌', '코코아 강좌', '맥용 공개 어플리케이션' 세개의 목표를 잡았는데 한해의 반을 훌쩍 넘겨서야 고작 하나만 실행했네요. 이제 스크래치는 잠시 접고 새로(?) 나온 Xcode 3를 사용하고 공부해 보면서 관련된 이야기를 올릴려고 합니다.

일단 이전 Xcode의 카테고리 이름을 Xcode 2로 변경하고, Xcode 3이란 카테고리를 만들었으니 첫 삽은 뜬 것 같습니다. 아직 맛도 못봤는데 Xcode 4가 나오는 건 아닌지 모르겠네요. ^^;;

'이야기들 > 소소한 이야기' 카테고리의 다른 글

급격한 Objective-C 사용자 증가  (4) 2009.08.20
WWDC 2009  (4) 2009.06.11
스크래치 강좌 끝~  (8) 2008.07.28
5년만에 강림하신 지름신  (16) 2008.07.15
Tumblebugs 드디어 클리어!  (2) 2008.06.18
맥북 DVI 어댑터  (2) 2008.06.16

기타 2008.03.26 15:03
유튜브에서 본 Xcode 3로 계산기를 만드는 동영상입니다. (요즘 이렇게 눈요기만으로 레퍼드로 업그레이드를 참고 있습니다) 아직 완성된 것은 아니고 2부까지만 나온 것 같습니다.

보면서 두가지 생각이 들었습니다. 첫번째는 'Xcode 3을 써보고 싶다' 입니다. 두번째는 multiply, divide 타이핑을 하는데 오늘 오전에 본 댓글 때문에 뜨끔하더군요. ^^;

* Building a Cocoa Calculator Application with XCode 3 for Mac


* Building a Cocoa Calculator App Using XCode 3 (Part 2)