2010년 2월 25일 목요일

UIApplication Class Reference

UIApplication Class Reference

[P] Parameters 에 대한 설명 입니다.
[R] Return Value 대한 설명 입니다.

Getting the Application Instance
+ sharedApplication
싱글톤 애플리케이션 인스턴스를 리턴.
UIApplicationMain 함수에서 생성된 어플리케이션 인스턴스를 리턴한다.


Getting Application Windows
  •   keyWindow  property
  • @property(nonatomic, readonly) UIWindow *keyWindow
  • 어플리케이션의 키 윈도우(읽기 전용)
  • 이 속성은 windows 배열에서 가장 최근에 makeKeyAndVisible 메시지를 보낸 UIWindow오브젝트를 담고 있다.
  •   windows  property
  • @property(nonatomic, readonly) NSArray *windows
  • 애플리케이션에 보이는 윈도우(읽기 전용)
  • 이 속성은 애플리케이션에 보이는 윈도우 들을 담고있는 배열이다.
  • 이 윈도우들은 뒤에서 앞 순서로 되어 있다.


Controlling and Handling Events
  • – sendEvent:
  • - (void)sendEvent:(UIEvent *)event
  • 애플리케이션에서 응답 오브젝트로 사용할 이벤트를 디스패치한다.
  • [P] event : 터치이벤트를 포함해서, 이벤트에 대한 정보를 캡슐화하는 UIEvent 오브젝트.
  • 서브클래스들은 검사및 특정 디스패칭하는 이벤트가 들어올때 가로채기 위해서 이 메서드를 오버라이드 해야 합니다.
  • iPhone OS는 퍼블릭 이벤트일때만 이 메서드를 호출합니다.
  • – sendAction:to:from:forEvent:
  • - (BOOL)sendAction:(SEL)action to:(id)target from:(id)sender forEvent:(UIEvent *)event
  • 특정 타겟에 셀렉터로 식별하는 액션 메시지를 보낸다
  • 원래 이 메서드는 사용자가 터치한 UIControl오브젝트에 의해 호출된다.
    기본 구현은 타겟 오브젝트에 주어지는 액션메서드를 디스패치 하는 것입니다. 타겟이 없을 경우에는 first responder를 타겟으로 한다.
    서브클래스들은 액션메시지의 특별한 디스패칭 동작을 수행하기 위해서 이 메서드를 오버라이드 해야 한다.
    기본적으로, 타겟이 호출할 때 이 메서드에 두개의 파라미터들을 주게 된다. 마지막 두개의 파라미터들은 리시버를 위한 옵션 이다.
    이 파라미터들을 지우는 것은 호출하는 쪽에 (보통 UIControl 오브젝트) 달려있기 때문이다.
    이것은 다음에 나오는 것들 중 하나의 액션 셀렉터로 구성 할 수 있다:
    -(void)action:
    -(void)action:(id)sender
    -(void)action:(id)sender forEvent:(UIEvent *)event
  • [P]
    • action : 액션메서드를 식별하는 셀렉터.
    • target : 액션 메시지를 받는 오브젝트. target이 nil일 경우, 애플리케이션은 리스폰더 체인이 처리될때까지 처리가 진행되는 곳에서 first responder에 메시지를 보낸다.
    • sender : 액션 메시지를 보내는 오브젝트. 기본 sender는 이 메서드를 호출하는 UIControl오브젝트 이다.
    • event : 액션 메시지가 시작되는 이벤트에 관한 정보를 캡슐화하는 UIEvent 오브젝트.
  • [R]
  • YES : 리스폰더 오브젝트가 액션메시지를 처리함
  • NO : 메시지를 처리하는 리스폰더 체인 오브젝트가 없을 경우
  • – beginIgnoringInteractionEvents
  • - (void)beginIgnoringInteractionEvents
  • 터치와 관련된 이벤트들의 처리를 서스펜드하도록 리시버에게 알린다.
  • 특히 애니메이션이나 트랜지션이 시작되기 전에 이 메소드를 호출한다.
  • 호출은 endIgnoringInteractionEvents 메서드와 내포된다.
  • – endIgnoringInteractionEvents
  • - (void)endIgnoringInteractionEvents
  • 터치와 관련된 이벤트들의 처리를 resume하도록 리시버에게 알린다.
  • 특히, beginIgnoringInteractionEvents메서드를 호출한 후, 애니메이션이나 트랜지션이 완료되었을 때 이 메서드를 호출한다.
  • 이 메서드의 내포된 호출은 beginIgnoringInteractionEvents 메서드의 내포된 호출과 매치되어야 한다.
  • – isIgnoringInteractionEvents
  • - (BOOL)isIgnoringInteractionEvents
  • 리시버가 스크린을 터치함에 따라 초기화된 이벤트들을 무시하는지 여부를 리턴한다.
  • [R] YES : 리시버가 인터렉션 이벤트들을 무시함. 그 밖에는 NO.
  •     레벨깊이가 최소한 하나인 중첩된 beginIgnoringInteractionEvents와 endIgnoringInteractinoEvents의 호출은 YES를 리턴한다.
  •   applicationSupportsShakeToEdit  property
  • @property(nonatomic) BOOL applicationSupportsShakeToEdit
  • 디바이스 디스플레이를 흔들어서 undo-redo 사용자 인터페이스를 나타내는 지 여부를 결정하는 Boolean
  • 디폴트 값은 YES임. 이 속성을 NO로 설정하면 애플리케이션에서 디바이스를 흔들어도 Undo / Redo 버튼이 나타나지 않는다.
  •   proximitySensingEnabled  property
  • @property(nonatomic, getter=isProximitySensingEnabled) BOOL proximitySensingEnabled
  • 접근센서가 사용가능한지를 결정하는 Boolean
  • (권장되지 않음. 속성은 UIDevice 클래스의 proximityMonitoringEnagled proximityState 대체해서 사용한다.)
  • 접근센서가 사용가능하면 YES, 불가능하면 NO. 
  • 사용가능한 접근 센서는 사용자의 얼굴이 가까워지면 iPhone OS가 스크린을 비우도록 한다.
  • 접근센서는 기본적으로 사용할 수 없게 되어 있다.
Opening a URL Resource
  • – openURL:
  • - (BOOL)openURL:(NSURL *)url
  • 특정 URL에서 리소스를 열도록 한다.
  • URL은 같거나 다른 애플리케이션에 리소스를 위치시킬 수 있다.
  • 만약 다른 애플리케이션의 리소스인 경우, 다른 애플리케이션도 런치되어야 하므로, 이 메소드를 호출하면 애플리케이션이 종료될 것이다.
  • 리소스를 제어하는 애플리케이션이 있는지 확인하기 위해 openURL: 메서드를 호출하기 전에 canOpenURL:을 호출할 수 있다.
  • [P] url : URL(Universal Resource Locator) 나타내는 오브젝트.
  •             UIKit http:, https:, tel:, mailto: 스키마들을 제공한다.
  • [R] URL 해당하는 리소스 위치가 성공적으로 열릴 경우 YES. 아니면 NO.
  • – canOpenURL:
  • - (BOOL)canOpenURL:(NSURL *)url
  • 애플리케이션이 주어진 URL의 리소스를 열수 있는지 여부를 리턴
  • 이 메소드는 openURL: 이 호출되었을때, 다른 애플리케이션에서 이것을 제어하기 위해 런치될 것인지를 보장해 준다.
  • 이것은 전체 URL이 유효한 것인지는 보장하지 않는다.
  • [P] url : 주어진 리소스를 식별하는 URL 오브젝트. URL의 스키마 -- 커스텀 스키마로 가능한 -- 는  URL을 제어할 수 있는 애플리케이션을 식별한다.
  • [R] URL을 승인할 수 있는 어플리케이션이 없을 경우 NO, 아니면 YES 를 리턴한다.
Registering for Remote Notifications
  • – registerForRemoteNotificationTypes:
  • - (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types
  • Apple Push Service를 통하는 공급자(provider)로 부터 특정 형태의 노티피케이션을 받도록 등록한다.
  • 이 메시지를 보낼 때, 디바이스는 Apple Push Service에 등록 프로세스를 초기화 한다. 이것이 성공하면, 애플리케이션 델리게이트는 application:didRegisterForRemoteNotificationsWithDeviceToken: 메서드에서 디바이스 토큰을 받는다.; 만약 등록이 성공하지 못하면, 델리게이트는 application:didFailToRegisterForRemoteNotificationWithError: 메서드를 통해 알려진다.  만약에 애플리케이션 델리게이트가 디바이스 토큰을 받으면, 그것의 제공자에 연결해서 토큰을 넘겨줘야 한다.
  • [P] types : 애플리케이션이 승인하는 노티피케이션의 비트 마스크 하는 특정 형태.
  • – unregisterForRemoteNotifications
  • - (void)unregisterForRemoteNotifications
  • Apple Push Service로부터 받는 노티피케이션들을 등록해제 한다.
  • – enabledRemoteNotificationTypes
  • - (UIRemoteNotificationType)enabledRemoteNotificationTypes
  • 애플리케이션이 승인하는 노티피케이션들의 형태를 리턴한다.
  • [R] 애플리케이션에 사용자가 요청한 노티피케이션의 형태들을 나타내는 값들에 대한 비트 마스크.

Managing Application Activity
  •   idleTimerDisabled  property
  • @property(nonatomic, getter=isIdleTimerDisabled) BOOL idleTimerDisabled
  • 아이들 타이머가 애플리케이션에서 비활성화 되어있는지를 제어하는 Boolean 값.

Managing Status Bar Orientation
  • – setStatusBarOrientation:animated:
  • - (void)setStatusBarOrientation:(UIInterfaceOrientation)interfaceOrientation animated:(BOOL)animated
  •  애플리케이션의 상태바를 특정 오리엔테이션으로 설정하고 움직임 변화를 것인지 옵션으로 설정할 있다.
  • animated NO 설정할 경우 애니메이션 없이 곧바로 변경된다.
  •   statusBarOrientation  property
  • @property(nonatomic) UIInterfaceOrientation statusBarOrientation
  • 애플리케이션 상태바의 현재 오리엔테이션
  •   statusBarOrientationAnimationDuration  property
  • 90 오리엔테이션 변경이 있는 동안 상태바가 애니메이션되는 시간(초단위, 읽기 전용)

Controlling Application Appearance
  • – setStatusBarHidden:animated:
  • - (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated
  • 상태바를 숨기거나 보여줌. 애니메이션 트랜지션은 옵션.
  • [P] hidden YES 상태바가 숨겨지고, NO 보임. 기본값은 NO
  •   statusBarHidden  property
  • @property(nonatomic, getter=isStatusBarHidden) BOOL statusBarHidden
  • 상태바가 숨겨져 있는지 아닌지 알려주는 Boolean
  • [P] YES - 숨겨짐, NO - 보임
  • – setStatusBarStyle:animated:
  • - (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated
  • 상태바의 스타일 설정. 새로운 스타일로 변할때 애니메이션 트랜지션을 것인지는 옵션.
  • statusBarStyle - 상태바 스타일을 결정하는 상수값.
  • * UIStatusBarStyle 종류
    • UIStatusBarStyleDefault : 회색 스타일(기본)
    • UIStatusBarStyleBlackTranslucent : 투명한 검정 스타일(50% 알파)
    • UIStatusBarStyleBlackOpaque : 불투명한 검정 스타일

  •   statusBarStyle  property
  • @property(nonatomic) UIStatusBarStyle statusBarStyle
  • 상태바의 현재 스타일
  •   statusBarFrame  property
  • @property(nonatomic, readonly) CGRect statusBarFrame
  • 상태바 영역으로 정의된 사각 프레임
  •   networkActivityIndicatorVisible  property
  • @property(nonatomic, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible
  • 네트워크 액티비티의 온/오프 값 변경 상태를 가지는 Boolean 값.
  •   applicationIconBadgeNumber  property
  • @property(nonatomic) NSInteger applicationIconBadgeNumber
  • Springboard 에서 애플리케이션 아이콘의 뱃지로 현재 설정한 넘버
  • 0으로 설정하면 뱃지 넘버를 숨긴다. 기본값은 0.


Setting and Getting the Delegate
  •   delegate  property
  • @property(nonatomic, assign) id delegate
  • 애플리케이션 오프젝트의 델리게이트. 
  • 이 델리게이트는 반드시 UIApplicateDelegate 프로토콜을 따라야 한다.  
  • UIApplication은 델리게이트를 배정하고 리테인 하지 않는다.

댓글 1개:

  1. Apple 공식 iPhone OS Reference Library 에 나와 있는 내용입니다. 가독성도 떨어지고, 빠진 내용도 있습니다만.. 아쉬운대로 필요하신 분 보세요. ^^

    답글삭제

내 블로그 목록

관심 사용자