NowWebService-Klasse: IOS

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Die NowWebservice Die Klasse bietet Funktionen, die das Durchsuchen von Webseiten auf einem ermöglichen ServiceNow Instanz.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    konfigurieren NowServiceConfiguration Konfigurationsparameter, die beim Initialisieren der NowWebService-Instanz verwendet werden sollen.

    NowWebservice – init(Configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding? = Null)

    Initialisiert eine NowWebService-Instanz.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    konfigurieren NowServiceConfiguration Konfigurationsparameter, die beim Initialisieren der NowWebService-Instanz verwendet werden sollen.
    CoreServiceProvider Now CoreServiceProviding Optional. Service Provider, der der NowWebService-Instanz zugeordnet werden soll.

    Standard: Nil

    Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    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 (für url: URL, Delegierter: NowWebViewControllerDelegate, Design: NowWebThemeable)

    Erstellt ein UIViewController-Objekt, das die Webansicht hostet.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Für url URL URL der zu ladenden Webseite. Diese Webseite muss sich im Ziel befinden ServiceNow Instanz, mit der der Service initialisiert wurde.
    Delegierter NowWebViewControllerDelegate Optional. Objekt, das Rückrufereignisse vom WebViewController in die native Anwendung empfängt.
    Design NowWebThemeable-Protokoll – iOS Optional. NowUIThemeable-Protokoll, das auf die UI-Elemente des Ansichts-Controllers angewendet werden soll, z. B. Farbe.

    Standard: NowWebDefaultTheme(nowUITheme: NowUIDefaultTheme())

    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Result<NowWebViewController, NowWebServiceError> Erfolg: NowWebViewController-Objekt

    Fehler: NowWebServiceError-Objekt

    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], Abschluss: PreloadWebCacheCompletion? = Nil) wirft

    Lädt eine Liste der angegebenen Seiten mit zwischenspeicherbaren Ressourcen im Hintergrund (von NowWeb) vorab, um die anfänglichen Ladezeiten zu verbessern.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    URLs Array von URL-Objekten URLs der Seiten, die vorab geladen werden sollen.
    Abschluss PreloadWebCacheCompletion Optional. Abschluss, um den Anrufer darüber zu informieren, dass das Laden der Webseiten abgeschlossen ist.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt die Verwendung von Webservice.preloadWebCache() Funktion zum Vorladen der angegebenen Seiten.

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