---
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


---

# NowData 프레임워크 - iOS

# NowData 프레임워크 - iOS {#ariaid-title1}

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

NowData 프레임워크에는 NowGraphQLService, NowTableService, NowAPIService(사용자 지정 API용) 및 NowAttachmentService와 같은 NowData 서비스의 인스턴스화를 활성화하는 메서드가 포함되어 있습니다.

## NowData - makeApiService(instanceUrl: URL, 경로: 문자열, 완성: @escaping((결과\<NowApiService, NowServiceError\>) -\> Void)) {#ariaid-title2}

NowApiService의 인스턴스를 작성하고, 완료되면 지정된 완성 핸들러를 호출합니다.
{#NData-makeApiService_S_O__table_ff3_4pw_kqb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| instanceUrl | URL | 서비스에서 REST API에 액세스할 인스턴스의 ServiceNow URL입니다. |
| 경로 | 문자열 | API 경로입니다. 예를 들어 API 호출이 `https://xxx.service-now.com/api/now/sg/incident` 경우 경로는 `/api/now/sg/incident`입니다. |
| 완료 | @escaping((결과\<[NowApiService](https://servicenow-prod.fluidtopics.net/lMwOd9TjojKjkeBb5PzsYA#NowAPIServiceiOSAPI "NowAPIService 클래스는 지정된 ServiceNow REST API에 대한 요청을 수행할 수 있는 기능을 제공합니다."), NowServiceError\>) -\> 무효) | 초기화된 `NowApiService` 인스턴스 또는 초기화 실패 이유를 나타내는 `NowServiceError`를 포함하는 `Result<NowApiService, NowServiceError>`와 함께 호출되는 완성 핸들러입니다. |
[표 1. 매개변수]

{#NData-makeApiService_S_O__table_ff3_4pw_kqb} {#NData-makeApiService_S_O__table_gf3_4pw_kqb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 2. 반환]

{#NData-makeApiService_S_O__table_gf3_4pw_kqb}  
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    let path = "api/now/sg"
    let apiPublisher = apiService(for: path)

    func apiService(for path: String) -> AnyPublisher<NowAPIService, ConfigurationError> {
      guard let instanceURL else {
        return Fail(error: ConfigurationError.invalidInstanceURL)
        .eraseToAnyPublisher()
      }
      return Future { promise in
        NowData.makeApiService(instanceUrl: instanceURL, path: path) { (result) in
          promise(result.mapError { .sdkError($0) })
        }
      }
      .eraseToAnyPublisher()
    }

## NowData - makeAttachmentService(instanceUrl: URL, 완성: @escaping ((결과\<NowAttachmentService, NowServiceError\>) -\> 무효)) {#ariaid-title3}

NowAttachmentService의 인스턴스를 작성하고 완료 후 지정된 완성 핸들러를 호출합니다.
{#NData-makeAttachmentService_S_O__table_nw3_hww_kqb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| instanceUrl | URL | 서비스에서 첨부 파일에 액세스할 인스턴스의 ServiceNow URL입니다. |
| 완료 | @escaping((결과\<[NowAttachmentService](https://servicenow-prod.fluidtopics.net/niPWcfVPZ1fSOb_gpYRLGw#NowAttachmentServiceiOSAPI "NowAttachmentService 클래스는 인스턴스의 ServiceNow 테이블 내 기록과 연결된 첨부 파일을 업로드하고 쿼리할 수 있는 기능을 제공합니다."), NowServiceError\>) -\> 무효) | 초기화된 `NowAttachmentService` 인스턴스 또는 초기화 실패 이유를 나타내는 `NowServiceError`를 포함하는 `Result<NowAttachmentService, NowServiceError>`와 함께 호출되는 완성 핸들러입니다. |
[표 3. 매개변수]

{#NData-makeAttachmentService_S_O__table_nw3_hww_kqb} {#NData-makeAttachmentService_S_O__table_ow3_hww_kqb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 4. 반환]

{#NData-makeAttachmentService_S_O__table_ow3_hww_kqb}  
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    ....
    guard 
      let jwtUrl = URL(string: "http://13.57.38.237:8080"),
      let instanceUrl = URL(string: "https://mobilecoresdk.service-now.com") else {
        return
      }

    // AuthorizationProvider -- struct conforming to NowSDKAuthorizationProviding protocol
    let authorizationProvider = AuthorizationProvider(userEmail: "sdk@servicenow.com", jwtProviderUrl: jwtUrl, clientId: "deb8756b452d201039231ca568f26511")
            
    // PermissionProvider -- class conforming to DevicePermissionDelegate protocol
    let permissionProvider = PermissionProvider()
    let config = NowSDKConfiguration(authorizationProvider: authorizationProvider, permissionDelegate: permissionProvider, logLevel: .debug)
    	
    do {
      try NowSDK.configure(with: config)
      initializeAttachmentService (with: instanceURL)
    } catch {
      // Return ConfigurationError.sdkError(error)
    }
    .....

    func initializeAttachmentService(instanceUrl: instanceURL) { result in
      switch result {
        case .success(let service)
          self?.attachmentService = service
        case .failure(let error)
          debug.print("Creating Attachment service failed with error: \(error.localizedDescription)")
          self?.attachmentService = nil
      }
    }

## NowData - makeGraphQLService(instanceUrl: URL, 완성: @escaping((결과\<NowGraphQLService, NowServiceError\>) -\> Void)) {#ariaid-title4}

NowGraphQLService의 인스턴스를 작성하고, 완료되면 지정된 완성 핸들러를 호출합니다.
{#NData-makeGraphQLService_S_O__table_fb2_mcw_kqb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| instanceUrl | URL | GraphQL 서비스를 제공하는 인스턴스의 ServiceNow URL입니다. |
| 완료 | @escaping ((결과\<[NowGraphQLService](https://servicenow-prod.fluidtopics.net/Rq5LZL892S3it5C46c3CrA#NowGraphQLServiceiOSAPI "NowGraphQLService 클래스는 GraphQL REST API를 통해 인스턴스의 ServiceNow 데이터에 대해 GraphQL 쿼리를 사용하여 요청할 수 있는 함수를 제공합니다."), NowServiceError\>) -\> 무효) | 초기화가 실패한 이유를 나타내는 초기화된 `NowGraphQLService` 인스턴스 또는 `NowServiceError`를 포함하는 `Result<NowGraphQLService, NowServiceError>`와 함께 호출되는 완성 처리기입니다. |
[표 5. 매개변수]

{#NData-makeGraphQLService_S_O__table_fb2_mcw_kqb} {#NData-makeGraphQLService_S_O__table_gb2_mcw_kqb__entry__2}

| 유형 | 설명 |
|-|-|
| 안 함 |   |
[표 6. 반환]

{#NData-makeGraphQLService_S_O__table_gb2_mcw_kqb}  
<br />

    func initializeGraphQLService(instanceUrl: URL) {
      makeGraphQLService(instanceUrl: instanceUrl) { [weak self] result in
        switch result {
        case .success(let service):
          self?.graphQLService = service
        case .failure(let error):
          debugPrint("Creating GraphQL service failed with error: \(error.localizedDescription)")
          self?.graphQLService = nil
        }
      }
    }

## NowData - makeTableService(instanceUrl: URL, 완성: @escaping ((결과\<NowTableService, NowServiceError\>) -\> 무효)) {#ariaid-title5}

NowTableService의 인스턴스를 작성하고, 완료 후 지정된 완성 핸들러를 호출합니다.
{#NData-makeTableService_S_O__table_rkh_bmw_kqb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| instanceUrl | URL | 서비스에서 액세스할 테이블이 속한 인스턴스의 ServiceNow URL입니다. |
| 완료 | @escaping ((result\<[NowTableService](https://servicenow-prod.fluidtopics.net/u6t2OtbkgbZ8ejLrrT~GfA#NowTableServiceiOSAPI "NowTableService 클래스는 기존 ServiceNow 테이블의 레코드에 대해 생성, 읽기, 업데이트 및 삭제 작업을 수행할 수 있는 기능을 제공합니다."), NowServiceError\>) -\> void) | 초기화가 실패한 이유를 나타내는 초기화된 `NowTableService` 인스턴스 또는 `NowServiceError`를 포함하는 `Result<NowTableService, NowServiceError>`와 함께 호출되는 완성 핸들러입니다. |
[표 7. 매개변수]

{#NData-makeTableService_S_O__table_rkh_bmw_kqb} {#NData-makeTableService_S_O__table_skh_bmw_kqb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 8. 반환]

{#NData-makeTableService_S_O__table_skh_bmw_kqb}  
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    func initializeTableService(for instanceUrl: URL) {
      makeTableService(instanceUrl: instanceUrl) { [weak self] result in
        guard let self = self else { return }
                
        switch result {
          case .success(let tableService):
            self.tableService = tableService
            // Create a Paginator that will iterate over pages of customer support cases. The Paginator's response type will be
            // inferred from the Paginator's type definition (e.g. `Paginator<[CustomerServiceCase]>`).
            self.paginator = tableService.paginator(from: Self.tableName, configuration: self.fetchConfiguration)
            // Subscribe to the Paginator's publisher so we will be able to receive paged results.
            self.subscribeToPaginatorPublisher()
            // As we are now ready to start fetching data, inform the view controller.
            self.onReady(self)
          case .failure(let error):
            debugPrint("Creating table service failed with error: \(error.localizedDescription)")
            self.tableService = nil
            self.paginator = nil
        }
      }
    }


