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은 델리게이트를 배정하고 리테인 하지 않는다.
Apple 공식 iPhone OS Reference Library 에 나와 있는 내용입니다. 가독성도 떨어지고, 빠진 내용도 있습니다만.. 아쉬운대로 필요하신 분 보세요. ^^
답글삭제