'프로그래밍/iphone'에 해당되는 글 6건

  1. 2011.03.30 아이폰 데이터 저장방법
  2. 2011.03.30 아이폰 애니메이션 기본
  3. 2011.03.28 유용한 애플 강좌
  4. 2011.03.26 아이폰 교육에서 배워야 할 것
  5. 2010.10.14 Window-Based Sample
  6. 2010.10.12 Objective-C 언어 개념
1. NSUserDefault : 싱글톤으로 전역 접근이 가능 : NSMutableDictionary를 이용하여 주로 환경세팅에 사용
2. NSString, NSArray, NSDictionary, NSData 객체의 메소드를 이용 : writeToFile <-> initWithContectOfFile 
3. NSKeyedArchiver <-> NSKeyedUnarchiver
4. CoreData

객체를 저장할려면 NSCoding 프로토콜을 구현해야 함 

- (id)initWithCoder:(NSCoder *)aDecoder;
- (void)encodeWithCoder:(NSCoder *)aCoder; 

도큐먼트 디렉토리 찾기

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory NSUserDirectory, YES);

NSString *dir = [paths lastObject];

도큐먼트에 저장된 파일경로
NSString *file = [dir stringByAppendingPathComponent:@"Personnel.archive"]; 

 
Posted by Kubernetes Korea co-leader seungkyua@gmail.com
[아이폰 애니메이션 방법 3가지]
1. UIView 의 property 를 이용한 애니메이션
2. UIImageView 의 property를 이용한 애니메이션
3. Core Animation 을 이용한 애니메이션


[코어 애니메이션을 적용하기 위한 기본 개념]
1. CALayer 는 UIView 와 같은 기본 판
2. CAAnimation 은 설계를 하고  CALayer 에 적용 

 [CALayer]




Posted by Kubernetes Korea co-leader seungkyua@gmail.com
iTunes U : Standford CS 193    -> 아이폰 유용한 강좌

iPhone 3 : icon.png
iPhone 4 : icon@2x.png    -> 파일명에 @2x 를 붙히면 자동으로 인식

MFi : Made For iPhone -> 애플의 아이폰 액서서리 커넥트 핀 보장
FSK library :  아이폰 오디오 잭으로 연결한 라이브러리

[iPhoneSDK 3.0]
APNS : Apple Push Notification Service
StoreKit : 앱 내에서의 구매 기능
GameKit
AVFoundation
MapKit : 지도 표시
Core Data : 로컬 데이터 베이스

[iPhoneSDK 4.0]
Multitasking
iAd
GameCenter
Calendar

GCC 4.2 :  컴파일
GDC 4.2 :  디버깅

[메모리 관리]
alloc   : 리테인 카운트 1
retain :  리테인 카운트 +1
release : 리테인 카운트 -1
* 클래스 메소드 (+)를 호출하여 생성한 객체는 autorelease 가 자동으로 호출됨
* 콜렉션에 add 된 객체는 +1, remove 된 객체는 -1, 콜렉션 객체가 소멸되면 포함된 객체도 자동 release 됨. 


[Prefix 의 의미]
UI  : UIKit -> 화면
NS : Foundation (Core Service)
CA : Core Animation
CG : Core Graphics
CV : 
MP : 

1. ADC 가입
     - Agent  : 최초 애플과 계약 모든 릴리즈에 책임 (멤버와 어드민 초청)
     - Admin : 개발자 포털 관리, 프로파일 정보 수정가능 (멤버와 어드민 초청)
     - Member : 장치에 사이드로딩 방식으로 설치 가능
2. 인증서 발급 :  맥의 키체인 접근 프로그램을 통해서 인증서 발급 요청서를 받아 ADC 포털에서 요청
3. 인증서 다운로드
4. Xcode Organizer 에 디바이스 등록
5. App ID 만들기
    - URL의 역순으로 만듦
         ex) com.ahnseungkyu.livecoder
    - *문자를 사용하면 다수의 앱을 지칭할 수 있음
        ex) com.ahnseungkyu.*
    - APN, InAppPurchase, Keychain 공유등을 사용하려면 * 없이
    - 삭제불가
6. 프로비저닝 프로파일 만들기
7. 프로비저닝 등록 및 다운로드


 
Posted by Kubernetes Korea co-leader seungkyua@gmail.com
1. 아이폰 디버깅 방법
2. Instruments 도구에서 메모리 누수 찾는 법 
Posted by Kubernetes Korea co-leader seungkyua@gmail.com
1. 프로젝트를 만든다.
    프로젝트명 : WindowBasedSample
    프로젝트 생성시 처음 만들어지는 파일은 일종의 엔트리 포인트로 생각한다.
    WindowBasedSampleAppDelegate.h
    WindowBasedSampleAppDelegate.m

2. nib 파일(화면)을 만든다.
    Interface Builder 를 실행하여 View 타입으로 생성하여 WindowBasedSample 프로젝트 디렉토리에 저장한다.
    파일명 : HelloWorldView.xib
    Library 창에서 원하는 view object 를 선택하여 View 창에 드래그&드랍으로 화면을 만든다.

3. HelloWorldView.xib 화면을 연결할 UIViewController 파일을 만든다.
   Xcode 에서 File -> New File 을 선택하고 타입을 UIViewController subclass 로 선택한다.
   파일명 : HelloWorldViewController

4. HelloWorldView.xib 화면과 HelloWorldViewController 를 연결한다.
    HelloWorldView.xib 의 Document 창에서 File's Owner 를 선택하고 Identity Inspector 창을 띄운다.
    class identity 의 클래스에서 HelloWorldViewController 를 선택한다.
    Connections Inspector 창에서 Outlets 의 view 속성을 드래그해서 Document 창의 View와 연결한다.
    
5. WindowBasedSampleAppDelegate.m 에서 HellowWolrdView.xib 를 로딩한다.
    -(void) applicationDidFinishLaunching 메소드에서 자신의 view를 window view 에 세팅한다.

로딩 순서 및 연결고리를 보면.....

1. main.m
2. MainWindow.xib
3. WindowBasedSampleAppDelegate.m
4. HelloWorldView.xib
5. HelloWorldViewController.m



  
Posted by Kubernetes Korea co-leader seungkyua@gmail.com
Class                : 설명이 필요없겠죠.. 우리가 알고 있는 클래스 그 자체입니다.
Class Object      : 클래스에 단 하나밖에 없는 객체로 인스턴스를 만들 때 필요한 정보를 가지고 있는 객체입니다.
                          내부적으로 존재하는 객체로 보시면 되고 Factory Object 라고도 합니다.
                          클래스에서 접근하는 메소드는 사실 클랙스 객체의 메소드로 접근한다고 생각하면 됩니다.
                          클래스 객체는 타입으로는 클래스와 같습니다.
Class Method    : 클래스 객체에서 접근가능한 메소드입니다. 인스턴스가 없어도 클래스 객체로 직접 접근 가능
                          합니다.
Instance            : 클래스 객체로 부터 생성되어 메모리에 할당된 객체입니다.


@interface Artist : NSObject
{
    NSString *name;      // instance variable
    static int age;        // class varialbe
}
- (NSString *) name;   //  instance method
@end


#import "Artist.h"

@implementation Artist

- (NSString *) name    //  instance method
{
    return name;
}
- (void) init             //  instacne variable 초기화
{
   name = @"ASK";
}
+ (void) initialize   // class variable 초기화
{
     static BOOL initialized = NO;
    if ( ! initialized )
    {
 
         age = 20;
         initialized = YES;
     }
}
@end

Posted by Kubernetes Korea co-leader seungkyua@gmail.com