---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowData-Framework -- iOS

# NowData-Framework -- iOS {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 Minuten Lesedauer

Das NowData- Framework enthält Methoden, die die Instanziierung von NowData-Services ermöglichen, z. B. NowGraphQLService, NowTableService, NowAPIService (für anwenderdefinierte APIs) und NowAttachmentService.

## NowData - makeApiService(instanceUrl: URL, Pfad: Zeichenfolge, Abschluss: @escaping ((Ergebnis\<NowApiService, NowServiceError\> ) -\> ungültig)) {#ariaid-title2}

Erstellt eine Instanz von NowApiService und ruft nach Abschluss den angegebenen Abschluss-Handler auf.
{#NData-makeApiService_S_O__table_ff3_4pw_kqb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| instanceUrl | URL | URL der Instanz ServiceNow, auf deren REST APIs der Service zugreifen soll. |
| path | Zeichenfolge | API-Pfad. Wenn der API-Aufruf beispielsweise `https://xxx.service-now.com/api/now/sg/incident`lautet, lautet der Pfad `/api/now/sg/incident`. |
| Abschluss | @escaping ((Ergebnis​\<[NowApiService](https://servicenow-prod.fluidtopics.net/OQhHrVsZe7fGiL4oOjuKBQ#NowAPIServiceiOSAPI "Die Klasse NowAPIService stellt Funktionen bereit, mit denen Sie Anforderungen an eine angegebene ServiceNow -REST-API durchführen können."), Now​Service​Error\>) -\> Ungültig) | Abschlusshandler, der mit einem `Ergebnis` aufgerufen wird\<NowApiService, NowServiceError\> enthält entweder eine initialisierte `NowApiService-` Instanz oder einen `NowServiceError`, der angibt, warum die Initialisierung fehlgeschlagen ist. |
[Tabelle : 1. Parameter]

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

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 2. Ergebnisse]

{#NData-makeApiService_S_O__table_gf3_4pw_kqb}  
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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, Abschluss: @escaping ((Ergebnis\<NowAttachmentService, NowServiceError\> ) -\> ungültig)) {#ariaid-title3}

Erstellt eine Instanz von NowAttachmentService und ruft nach Abschluss den angegebenen Abschluss-Handler auf.
{#NData-makeAttachmentService_S_O__table_nw3_hww_kqb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| instanceUrl | URL | URL der Instanz ServiceNow, auf deren Anhänge der Service zugreifen soll. |
| Abschluss | @escaping ((Ergebnis​\<[NowAttachmentService](https://servicenow-prod.fluidtopics.net/3d9kgwv0wYozwa~RAgv66w#NowAttachmentServiceiOSAPI "Die Klasse NowAttachmentService bietet Funktionen zum Hochladen und Abfragen von Anhängen, die Datensätzen in einer Tabelle in einer Instanz ServiceNow zugeordnet sind."), Now​Service​Error\>) -\> Ungültig) | Abschlusshandler, der mit einem `Ergebnis` aufgerufen wird\<NowAttachmentService, NowServiceError\> enthält entweder eine initialisierte `NowAttachmentService-` Instanz oder einen `NowServiceError`, der angibt, warum die Initialisierung fehlgeschlagen ist. |
[Tabelle : 3. Parameter]

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

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 4. Ergebnisse]

{#NData-makeAttachmentService_S_O__table_ow3_hww_kqb}  
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    ....
    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, Abschluss: @escaping ((Ergebnis\<NowGraphQLService, NowServiceError\> ) -\> ungültig)) {#ariaid-title4}

Erstellt eine Instanz von NowGraphQLService und ruft nach Abschluss den angegebenen Abschluss-Handler auf.
{#NData-makeGraphQLService_S_O__table_fb2_mcw_kqb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| instanceUrl | URL | URL der Instanz ServiceNow, die GraphQL-Services bereitstellt. |
| Abschluss | @escaping ((Ergebnis​\<[NowGraphQLService](https://servicenow-prod.fluidtopics.net/JaoEoaHfC8XWIchMJ2CdMA#NowGraphQLServiceiOSAPI "Die Klasse NowGraphQLService bietet Funktionen, mit denen Sie über die GraphQL- REST-API Anforderungen mithilfe von GraphQL-Abfragen für Daten in Ihrer Instanz ServiceNow stellen können."), Now​Service​Error\>) -\> Ungültig) | Abschlusshandler, der mit einem `Ergebnis` aufgerufen wird\<NowGraphQLService, NowServiceError\> enthält entweder eine initialisierte `NowGraphQLService-` Instanz oder einen `NowServiceError` -Wert, der angibt, warum die Initialisierung fehlgeschlagen ist. |
[Tabelle : 5. Parameter]

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

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 6. Ergebnisse]

{#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, Abschluss: @escaping ((Ergebnis\<NowTableService, NowServiceError\> ) -\> ungültig)) {#ariaid-title5}

Erstellt eine Instanz von NowTableService und ruft nach Abschluss den angegebenen Abschluss-Handler auf.
{#NData-makeTableService_S_O__table_rkh_bmw_kqb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| instanceUrl | URL | URL der Instanz ServiceNow, auf deren Tabellen der Service zugreifen soll. |
| Abschluss | @escaping ((Ergebnis​\<[NowTableService](https://servicenow-prod.fluidtopics.net/tI9E8aDOZuwNtu1PH14CtA#NowTableServiceiOSAPI "Die Klasse NowTableService bietet Funktionen zum Ausführen von Erstellungs-, Lese-, Aktualisierungs- und Löschvorgängen für Datensätze vorhandener Tabellen ServiceNow."), Now​Service​Error\>) -\> Ungültig) | Abschlusshandler, der mit einem `Ergebnis` aufgerufen wird\<NowTableService, NowServiceError\> enthält entweder eine initialisierte `NowTableService-` Instanz oder einen `NowServiceError`, der angibt, warum die Initialisierung fehlgeschlagen ist. |
[Tabelle : 7. Parameter]

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

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 8. Ergebnisse]

{#NData-makeTableService_S_O__table_skh_bmw_kqb}  
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

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


