|
Appspresso Plugin API - iOS
|
#import <AxRuntimeContext.h>
Public Member Functions | |
| (UIWebView *) | - getWebView |
| (UIViewController *) | - getViewController |
| (id< W3Widget >) | - getWidget |
| (id< AxFileSystemManager >) | - getFileSystemManager |
| (bool) | - isActivatedFeature: |
| (NSArray *) | - getActivatedFeatures |
| (id< AxPlugin >) | - requirePlugin: |
| (id< AxPlugin >) | - requirePluginWithFeature: |
| (void) | - executeJavaScript: |
| (void) | - executeJavaScriptFunction: |
| (void) | - invokeWatchSuccessListener:result: |
| (void) | - invokeWatchErrorListener:code:message: |
| (void) | - setAttribute:value: |
| (id) | - getAttribute: |
| (void) | - removeAttribute: |
| (void) | - addWebViewDelegate: |
| (void) | - removeWebViewDelegate: |
| (void) | - addApplicationDelegate: |
| (void) | - removeApplicationDelegate: |
| (void) | - addViewControllerDelegate: |
| (void) | - removeViewControllerDelegate: |
| (NSDictionary *) | - getLaunchOptions |
앱스프레소 앱을 실행하는 동안 필요한 정보를 보유하는 인터페이스.
@/link, //apple_ref/occ/intf/AxPlugin @/link 과 더불어 앱스프레소 플러그인 개발에서 가장 핵심적인 인터페이스. 앱스프레소 앱은 오직 하나의 AxRuntimeContext 인스턴스를 갖고 있으며, AxPlugin의 activate / deactivate 메소드를 통해 개별 플러그인에 주입(inject)된다.
| - (void) addApplicationDelegate: | (id< UIApplicationDelegate >) | delegate |
UIApplicationDelegate 추가.
네이티브 iOS 앱 개발에서, UIApplicationDelegate를 구현하는 것과 유사하지만, 여러 개의 delegate를 가질 수 있음.
| delegate | UIApplicationDelegate 인스턴스 |
| - (void) addViewControllerDelegate: | (id< AxViewControllerDelegate >) | delegate |
네이티브 iOS 앱 개발에서, UIViewController를 상속하여 일부 메소드를 오버라이드 하는 것과 유사하지만, 여러 개의 delegate를 가질 수 있음.
| delegate | AxViewControllerDelegate 인스턴스 |
| - (void) addWebViewDelegate: | (id< UIWebViewDelegate >) | delegate |
UIWebViewDelegate 추가.
네이티브 iOS 앱 개발에서, UIWebViewDelegate를 구현하는 것과 유사하지만, 여러 개의 delegate를 가질 수 있음.
| delegate | UIWebViewDelegate 인스턴스 |
| - (void) executeJavaScript: | (NSString *) | script |
자바스크립트 코드를 실행.
에러 검사 없음. 리턴값 받을 수 없음.
| script | 자바스크립트 문장 |
| - (void) executeJavaScriptFunction: | (NSString *) | functionName | |
| , | NS_REQUIRES_NIL_TERMINATION | ||
자바스크립트 함수를 호출.
NSString, NSNumber, NSArray, NSDictionary 객체 타입을 제외한 인자는 지원하지 않음.
| functionName | 자바스크립트 함수 이름 |
| args | 인자들. 인자가 하나 이상일 경우에는 마지막는 nil이 있어야 함. |
| - (NSArray*) getActivatedFeatures |
활성화된 피쳐의 목록을 얻음.
| - (id) getAttribute: | (NSString *) | key |
속성 값을 얻음.
지정한 이름을 가진 속성이 없을 경우 nil을 반환.
| key | 속성 이름 |
| - (id<AxFileSystemManager>) getFileSystemManager |
파일 시스템 관리자 인스턴스를 얻음.
deviceapis.filesystem의 가상 루트를 제공하기 위해서 사용.
| - (NSDictionary*) getLaunchOptions |
| - (UIViewController*) getViewController |
웹앱을 실행하고 있는 웹뷰의 컨트롤러(UIViewController) 인스턴스를 얻음.
| - (UIWebView*) getWebView |
웹앱을 실행하고 있는 웹뷰(UIWebView) 인스턴스를 얻음.
| - (void) invokeWatchErrorListener: | (NSInteger) | identifier | |
| code: | (NSInteger) | code | |
| message: | (NSString *) | message | |
자바스크립트 주기적인 에러 콜백을 호출.
자바스크립트에서 ax.Plugin::watch(method,callback,errback,params) 메소드를 호출했을 때, 자바스크립트로 "에러"를 전달하기 위해서 사용.
| identifier | 자바스크립트에서 부여한 watch 식별자 |
| code | 자바스크립트로 전달할 에러 코드 |
| message | 자바스크립트로 전달할 에러 메시지 |
| - (void) invokeWatchSuccessListener: | (NSInteger) | identifier | |
| result: | (id) | result | |
자바스크립트 주기적인 성공 콜백을 호출.
자바스크립트에서 ax.Plugin::watch(method,callback,errback,params) 메소드를 호출했을 때, 자바스크립트로 "결과"를 전달하기 위해서 사용.
| identifier | 자바스크립트에서 부여한 watch 식별자 |
| result | 자바스크립트로 전달할 결과 |
| - (bool) isActivatedFeature: | (NSString *) | featureUri |
지정한 이름(일반적으로 URI 형식)을 가진 피쳐의 활성 상태 확인.
| feature | 피쳐 이름 |
| - (void) removeApplicationDelegate: | (id< UIApplicationDelegate >) | delegate |
UIApplicationDelegate 제거.
| delegate | UIApplicationDelegate 인스턴스 |
| - (void) removeAttribute: | (NSString *) | key |
속성 삭제.
지정한 이름을 가진 속성이 없을 경우 아무런 효과 없음(무시).
| key | 속성 이름 |
| - (void) removeViewControllerDelegate: | (id< AxViewControllerDelegate >) | delegate |
| - (void) removeWebViewDelegate: | (id< UIWebViewDelegate >) | delegate |
WebViewDelegate 제거.
| delegate | UIWebViewDelegate 인스턴스 |
| - (id<AxPlugin>) requirePlugin: | (NSString *) | pluginId |
지정한 ID(일반적으로, reverse domain 형식)를 가진 플러그인을 적재.
지정한 ID를 가진 플러그인을 적재하지 못했으면 nil을 반환.
| pluginId | 플러그인 ID |
| - (id<AxPlugin>) requirePluginWithFeature: | (NSString *) | featureUri |
지정한 이름의 피쳐(일반적으로, URL 형식)를 가진 플러그인을 적재.
지정한 이름의 피쳐를 가진 플러그인을 적재하지 못했으면 nil을 반환.
| featureUri | 피쳐 이름 |
| - (void) setAttribute: | (NSString *) | key | |
| value: | (id) | value | |
속성 설정.
같은 이름을 가진 속성이 이미 있을 경우에는 기존 속성 값을 변경하고, 그렇지 않을 경우에는 새 속성이 추가됨.
이 속성은 앱이 실행되는 동안 유효하므로, 플러그인 간의 통신, 상태 유지 등의 다양한 용도로 활용할 수 있음.
| key | 속성 이름 |
| value | 속성 값 |