NowWebService 클래스 - iOS
NowWebService 클래스는 인스턴스에서 웹 페이지를 ServiceNow 찾아볼 수 있는 기능을 제공합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 구성 | NowServiceConfiguration | NowWebService 인스턴스를 초기화할 때 사용할 구성 매개변수입니다. |
NowWebService - init(구성: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding? = nil)
NowWebService 인스턴스를 초기화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 구성 | NowServiceConfiguration | NowWebService 인스턴스를 초기화할 때 사용할 구성 매개변수입니다. |
| 코어서비스제공자 | NowCoreServiceProviding | 옵션입니다. NowWebService 인스턴스와 연결할 서비스 제공자입니다. 기본값: nil |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
guard let coreService = NowSDK.core() else {
// Error with NowServiceError.sdkNotConfigured
return
}
guard
let instanceUrl = URL(string: "http://sample.service-now.com") ,
let serviceConfig = NowSDK.makeServiceConfiguration(for: instanceUrl) else {
// Could not create service –
// NowServiceError.serviceConfigurationInvalid
return
}
let webService = NowWebService(configuration: serviceConfig, coreServiceProvider: coreService)
NowWebService - makeWebViewController(for url: URL, delegate: NowWebViewControllerDelegate, theme: NowWebThemeable)
웹 뷰를 호스트하는 UIViewController 개체를 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| URL용 | URL | 로드할 웹 페이지의 URL입니다. 이 웹 페이지는 서비스가 초기화된 대상 ServiceNow 인스턴스에 있어야 합니다. |
| 위임 | NowWebViewControllerDelegate | 옵션입니다. WebViewController에서 네이티브 애플리케이션으로 콜백 이벤트를 수신하는 개체입니다. |
| 주제 | NowWeb테마 가능 | 옵션입니다. 색과 같은 뷰 컨트롤러의 UI 요소에 적용할 NowUIThemeable 프로토콜입니다. 기본값: NowWebDefaultTheme(nowUITheme: NowUIDefaultTheme()) |
| 유형 | 설명 |
|---|---|
| 결과<NowWebViewController, NowWebServiceError> | 성공: NowWebViewController 객체 실패: NowWebServiceError 객체 |
private func webViewController(for url: URL) -> NowWebViewController? {
guard let webService = webService else {
debugPrint("Web service not initialized")
return nil
}
let result = webService.makeWebViewController(for: url, delegate: self, theme: CarrascoWebTheme(nowUITheme: CarrascoTheme()))
switch result {
case .success(let viewController):
return viewController
case .failure(let error):
debugPrint("Web view creation failed with error: \(error.localizedDescription)")
}
return nil
}
NowWebService - preloadWebCache(urls: [URL], completion: PreloadWebCacheCompletion? = nil)는
초기 로드 시간을 개선하기 위해 백그라운드에서 캐시 가능한 자원이 있는 지정된 페이지 목록을 미리 로드합니다(NowWeb 제공).
| 이름 | 유형 | 설명 |
|---|---|---|
| URL | URL 객체 배열 | 미리 로드할 페이지의 URL입니다. |
| 완료 | PreloadWebCache완료 | 옵션입니다. 호출자에게 웹 페이지 로드가 완료되었음을 알리는 종결입니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
다음 예제에서는 webService.preloadWebCache() 함수를 사용하여 지정된 페이지를 미리 로드하는 방법을 보여 줍니다.
private func preloadURLs(urls: [URL]) {
guard let webService = webService else {
debugPrint("Web service not initialized")
return
}
do {
try webService.preloadWebCache(urls: urls) {
debugPrint("URLs did complete preloading")
}
} catch {
debugPrint(error.localizedDescription)
}
}