---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 인스턴스에 ServiceNow 호스팅된 웹 페이지 표시

# 인스턴스에 ServiceNow 호스팅된 웹 페이지 표시 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 4분

인스턴스 내에서 ServiceNow 호스팅된 웹 페이지를 네이티브 iOS 애플리케이션에 표시할 수 있습니다.
Mobile SDK 필요한 인증 및 세션 관리를 원활하게 처리하고, [NowWebService](https://servicenow-prod.fluidtopics.net/U~iJ7vw~7iwRiSf35skPsw#NowWebServiceiOSAPI "NowWebService 클래스는 인스턴스에서 ServiceNow 웹 페이지를 찾아볼 수 있도록 하는 기능을 제공합니다.") API는 인스턴스에 ServiceNow 있는 페이지를 처리하는 데 필요한 기능을 제공합니다. 이러한 웹 페이지에는 플랫폼에서 가능한 모든 동적 상호작용이 있습니다.ServiceNow

인스턴스에서 호스팅 ServiceNow 되는 웹 페이지를 로드하도록 웹 뷰가 요청되면 NowSDK에서 제공하는 OAuth 액세스 토큰을 포함하는 적절한 전달자 헤더를 사용하여 HTTP 요청을 생성합니다. 인스턴스가 이 요청을 받으면 새 사용자 세션을 시작하고 해당 세션과 관련된 쿠키를 반환합니다. 사용자가 웹 뷰에서 웹 페이지와 상호 작용할 때 인스턴스는 쿠키를 사용하여 세션이 여전히 유효한지 확인합니다. 이 시점에서 전달자 헤더는 더 이상 관련이 없으며 쿠키만 세션 확인에 사용됩니다. 사용자가 제한 시간보다 오래 웹 사이트와의 상호작용을 중지하면 웹 세션이 만료됩니다. 세션이 만료된 후 사용자가 웹 페이지와 상호작용을 시도하면 자동으로 로그인 페이지로 리디렉션됩니다. NowWebViewController는 리디렉션을 감지하고 NowSDK에서 새로 고침된 액세스 토큰을 요청하고 토큰을 사용하여 마지막으로 로드된 페이지에 대한 HTTP 요청(전달자 헤더 포함)을 만들어 새 웹 세션을 시작하려고 시도합니다.

이러한 기능을 사용하려면 먼저 NowWebService의 인스턴스를 만들어야 합니다. 이렇게 하려면 makeWebService() 메서드를 호출하고 인스턴스에 대한 ServiceNow URL과 이미 초기화된 `NowSDK`를 제공해야 합니다. 또한 애플리케이션 내에서 `NowWeb` 을 임포트해야 합니다. `NowWeb` 서비스를 사용하는 동안 NowWebService에 대한 참조를 유지해야 합니다.

다음은 async/await를 사용하여 NowWebService 객체를 만드는 방법의 예를 보여줍니다.  

    do {
        let service = try await NowWeb.makeWebService(instanceUrl: instanceUrl)
        self.webService = service
    } catch {
        debugPrint("Web Service creation failed with error: \(error.localizedDescription)") 
    }

다음은 완성 핸들러를 사용하여 NowWebService 개체를 만드는 방법의 예를 보여줍니다.

    import Combine
    import NowWeb
    import UIKit
    ...
    public func makeWebService(instanceUrl: URL, 
      completion: @escaping ((Result<NowWeb.NowWebService, NowSDK.NowServiceError>) -> Void)) 

## NowWeb 로드 시간을 개선하기 위해 페이지 미리 로드

백그라운드에서 캐시 가능한 자원이 있는 페이지를 미리 로드하여 초기 NowWeb 로드 시간을 개선할 수 있습니다. 다음 예제는 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)
      }
    }

## 웹 컨텐츠를 표시할 뷰 생성 {#mobsdk-ios-display-web-pages__section_k5l_c11_kqb}

NowWebService의 인스턴스를 인스턴스화한 후에는 이를 사용하여 인스턴스에 호스팅된 ServiceNow 웹 페이지를 표시하는 뷰를 만들 수 있습니다.

다음 예제에서는 [NowWebViewController](https://servicenow-prod.fluidtopics.net/mhNqQ5PDJ13rDtNtU2BUiw#NWebViewControlleriOSAPI "NowWebViewController 클래스는 웹 뷰어를 관리할 수 있는 함수를 제공합니다.") 뷰를 만드는 방법을 보여 줍니다.  

    let result = webService.makeWebViewController(for: url, 
      delegate: self, theme: MyWebTheme(nowUITheme: MyUITheme()))
    switch result { 
    case .success(let viewController): 
      return viewController 
    case .failure(let error): 
      debugPrint("Web view creation failed with error: \(error.localizedDescription)") 
    }

이 예 url 에서는 뷰 내에서 로드할 초기 페이지의 URL입니다. 이 URL은 지정된 ServiceNow 인스턴스에서 호스팅되는 페이지를 가리켜야 합니다. 상대 URL도 작동하며 상대 URL은 NowWebService의 대상으로 하는 인스턴스를 ServiceNow 기준으로 합니다.

만든 후에는 NowWebViewController를 기존 탐색 스택에 밀어넣을 수 있습니다. 초기 페이지는 [loadPage()](https://servicenow-prod.fluidtopics.net/mhNqQ5PDJ13rDtNtU2BUiw#NWVC-loadPage "요청이 인증되면 makeWebViewController() 메서드를 사용하여 인스턴스화 중에 제공된 초기 URL 로드를 시작합니다.") 메서드를 호출할 때까지 로드되지 않습니다.

## 웹 사용자 인터페이스 테마 지정 {#mobsdk-ios-display-web-pages__section_mvp_5c1_kqb}

makeWebViewController() 호출에서 테마 객체를 전달하여 웹 UI의 색상을 사용자 지정할 수 있습니다. 사용자 지정할 수 있는 모든 요소의 목록은 다음 문서를 참조하십시오 [NowWebColoring 프로토콜 - iOS](https://servicenow-prod.fluidtopics.net/KQB16lXY5p1OSAatu2gUDA "NowWebColoring 프로토콜은 네이티브 웹 뷰에서 인스턴스에 ServiceNow 호스팅된 웹 페이지 내에서 사용되는 색에 대한 기본값을 제공합니다."). 기본적으로 웹 UI는 모든 NowSDK UI 요소에 대해 NowUIColor 테마를 사용합니다. 웹 UI에 테마를 적용하는 방법에 대한 샘플 코드 스니펫을 [NowWebThemeable 프로토콜 - iOS](https://servicenow-prod.fluidtopics.net/PnUf0ch4zz5e7RAU6MQZ4g "NowWebThemeable 프로토콜은 인스턴스에 호스팅 ServiceNow 된 웹 페이지 내에서 사용되는 색을 네이티브 웹 뷰에서 재정의할 수 있는 속성을 제공합니다.") 참조하십시오.

