• Help
  • Tealium for Swift 3.x
  • Tealium for iOS (Swift) SDK Reference
    • Tealium
      • Tealium
      • TealiumConfig
      • TealiumError
      • TealiumInstanceManager
      • CoreSettings
      • CoreSettingsBuilder
    • Modules
      • Modules
      • – Types
      • AppData
      • Collect
      • ConnectivityData
      • DataLayer
      • DeepLinkHandler
      • DeviceData
      • Lifecycle
      • MomentsAPI
      • TealiumData
      • TimeData
      • Trace
      • CustomModules
    • AppData Module
      • AppDataSettingsBuilder
    • Collect Module
      • CollectSettingsBuilder
    • ConnectivityData Module
      • ConnectivityDataSettingsBuilder
    • Consent
      • ConsentConfigurationBuilder
      • ConsentDecision
      • – DecisionType
      • CMPAdapter
    • DataLayer Module
      • DataLayerSettingsBuilder
    • DeepLinkHandler Module
      • DeepLinkSettingsBuilder
      • Referrer
    • DeviceData Module
      • DeviceDataSettingsBuilder
    • Lifecycle Module
      • LifecycleDataTarget
      • LifecycleError
      • LifecycleEvent
      • LifecycleSettingsBuilder
    • MomentsAPI Module
      • MomentsAPIError
      • MomentsAPIRegion
      • MomentsAPISettingsBuilder
      • EngineResponse
    • TealiumData Module
      • TealiumDataSettingsBuilder
    • TimeData Module
      • TimeDataSettingsBuilder
    • Trace Module
      • TraceSettingsBuilder
    • Rules
      • Rule
      • RuleModuleSettingsBuilder
      • RuleNotFoundError
      • Condition
      • – Operator
      • ConditionEvaluationError
      • InvalidMatchError
    • Barriers
      • Barriers
      • Barrier
      • BarrierFactory
      • BarrierRegistrar
      • BarrierScope
      • BarrierSettingsBuilder
      • BarrierState
      • BatchingBarrierSettingsBuilder
      • ConfigurableBarrier
      • ConnectivityBarrierSettingsBuilder
    • Transformations
      • TransformationOperation
      • TransformationScope
      • TransformationSettings
    • Module
      • Module
      • BasicModule
      • BasicModuleFactory
      • ModuleError
      • ModuleFactory
      • ModuleProxy
      • ModuleSettingsBuilder
      • ModuleStoreProvider
      • ModulesManager
      • MultipleInstancesModuleSettingsBuilder
      • Collector
      • CollectorSettingsBuilder
      • Dispatcher
      • DispatcherSettingsBuilder
      • TealiumContext
      • Transformer
      • TransformerRegistrar
      • Mappings
      • – VariableOptions
      • – ConstantOptions
      • – CommandOptions
      • MappingsBuilder
    • Data
      • DataInput
      • DataInputConvertible
      • DataItem
      • DataItemConverter
      • DataItemExtractor
      • DataObject
      • DataObjectConvertible
      • DataStore
      • DataStoreEdit
      • DataStoreEditor
      • DatabaseError
      • Expiry
      • Dispatch
      • DispatchContext
      • – Source
      • DispatchType
      • JSONArrayPath
      • JSONObjectPath
      • JSONPath
      • JSONPathExtractable
      • JSONPathParseError
      • ArrayRoot
      • ObjectRoot
      • PathRoot
      • ReferenceContainer
      • StringContainer
      • ValueContainer
      • AnyCodable
      • AnyDecodable
      • AnyEncodable
    • PubSub
      • Observable
      • ObservableConvertible
      • ObservableState
      • Observables
      • BasePublisher
      • Publisher
      • ReplaySubject
      • StateSubject
      • Subject
      • Single
      • SingleResult
      • CompositeDisposable
      • Disposable
      • Disposables
      • Subscribable
      • ValueExtractor
    • Network
      • NetworkClient
      • NetworkConfiguration
      • NetworkError
      • NetworkHelper
      • NetworkHelperProtocol
      • NetworkResponse
      • NetworkResult
      • ConnectivityManager
      • ConnectivityManagerProtocol
      • HTTPClient
      • DefaultInterceptor
      • InterceptorManager
      • InterceptorManagerProtocol
      • RequestInterceptor
      • RefreshParameters
      • ResourceRefresher
      • ResourceCacher
      • RetryPolicy
      • URL
      • URLComponents
      • URLConvertible
      • ErrorCooldown
      • ObjectResponse
      • ObjectResult
    • Logging
      • LogCategory
      • LogHandler
      • LogLevel
      • – Minimum
      • LoggerProtocol
      • TealiumLoggerType
      • OSSignpostIntervalState
      • SignpostStateWrapper
      • TealiumSignpostInterval
      • TealiumSignposter
    • Other Classes
      • ApplicationStatusListener
      • RepeatingTimer
      • TealiumDispatchGroup
      • TealiumQueue
      • TemplateProcessor
    • Other Enumerations
      • LenientConverters
      • TealiumConstants
      • TealiumDataKey
      • TimeUnit
    • Other Extensions
      • Array
      • Bool
      • Decimal
      • Dictionary
      • Double
      • Float
      • Int
      • Int64
      • NSNull
      • NSNumber
      • Optional
      • Result
      • String
      • [String: DataInput]
      • [String: DataItem]
    • Other Functions
      • +(_:_:)
      • +=(_:_:)
    • Other Protocols
      • ErrorEnum
      • ErrorExtractor
      • ErrorWrapping
      • QueueMetrics
      • Repeater
      • SessionRegistry
      • Tracker
    • Other Structures
      • ApplicationStatus
      • – StatusType
      • Session
      • – Status
      • TimeFrame
      • TrackResult
      • – Status
    • Other Type Aliases
      • InitializationResult
      • TrackResultCompletion
  • Tealium for Swift SDK Reference

Network Reference

  • NetworkClient

    Protocol for sending network requests and handling responses.

    See more

    Declaration

    Swift

    public protocol NetworkClient
  • NetworkConfiguration

    The configuration that is used by the NetworkClient to customize it’s behavior.

    You almost never need to change this as most of the Networking should happen via the shared NetworkingClient instance. If you need to add new interceptors you can do that directly on the NetworkClient.

    In case you really want to create a new client, start off from the NetworkConfiguration.defaultand edit it. Make sure to use a URLSessionConfiguration without cache and make sure to have at least the default interceptors.

    See more

    Declaration

    Swift

    public struct NetworkConfiguration
  • NetworkError

    An error reported by the NetworkClient.

    See more

    Declaration

    Swift

    public enum NetworkError : Error, ErrorEnum
    extension NetworkError: Equatable
  • NetworkHelper

    A helper class that provides convenient methods for common network operations.

    See more

    Declaration

    Swift

    public class NetworkHelper : NetworkHelperProtocol
  • NetworkHelperProtocol

    Protocol defining methods for common network operations.

    See more

    Declaration

    Swift

    public protocol NetworkHelperProtocol
  • NetworkResponse

    A successful response returned by the NetworkClient

    See more

    Declaration

    Swift

    public struct NetworkResponse
  • NetworkResult From TealiumPrismCore

    A successful Result with a NetworkResponse or a failed Result with NetworkError, returned by the NetworkClient

    Declaration

    Swift

    public typealias NetworkResult = Result<NetworkResponse, NetworkError>
  • ConnectivityManager

    A manager that handles system connectivity monitor and empirical connectivity monitor to establish when connectivity is actually available or not on the device.

    The default behavior would be to always assume that connectivity is available until system monitor or empirical connectivity result unavailable or unknown.

    See more

    Declaration

    Swift

    public class ConnectivityManager : ConnectivityManagerProtocol
  • ConnectivityManagerProtocol

    Protocol for managing network connectivity state and monitoring.

    See more

    Declaration

    Swift

    public protocol ConnectivityManagerProtocol : RequestInterceptor
  • HTTPClient

    An HTTP client that sends URLRequests via a URLSession.

    URLRequests are sent as is and are retried according to the RequestInterceptors logic when necessary. RequestInterceptors are also notified of other events concerning the request lifecycle. Some of these events are related to the HTTPClient logic and some are just URLSessionDelegate events being forwarded.

    You should almost never create a new instance of this class but rather use the shared instance, as it’s configured with sensible defaults and using one URLSession comes with a series of optimizations. If you need to create a new instance make sure to start from a default configuration and only add new interceptors to the default ones.

    See more

    Declaration

    Swift

    public class HTTPClient : NetworkClient
  • DefaultInterceptor

    An interceptor that retries all retriable errors

    See more

    Declaration

    Swift

    public class DefaultInterceptor : RequestInterceptor
  • InterceptorManager

    A class that handles some messages from the URLSession. It forwards them to the interceptors along with some other internal network client messages.

    See more

    Declaration

    Swift

    public class InterceptorManager : NSObject, InterceptorManagerProtocol
  • InterceptorManagerProtocol

    Protocol for managing request interceptors and handling network results.

    See more

    Declaration

    Swift

    public protocol InterceptorManagerProtocol : URLSessionTaskDelegate
  • RequestInterceptor

    Protocol for intercepting and handling network requests and responses.

    See more

    Declaration

    Swift

    public protocol RequestInterceptor : AnyObject
  • RefreshParameters

    Parameters for configuring a resource refresher.

    See more

    Declaration

    Swift

    public struct RefreshParameters
  • ResourceRefresher

    An object that refreshes a single resource at regular intervals.

    Refresh is requested by the user of ths class, but it’s ignored unless the required intervals have passed. The resource is cached locally and it’s re-read only on initialization or when subscribing onResourceLoaded.

    You can listen to resource updates by using the onResourceLoaded observable. This will first push an event with a resource read from disk, if present, and then all refreshes from remote.

    See more

    Declaration

    Swift

    public class ResourceRefresher<Resource> where Resource : Decodable, Resource : Encodable
  • ResourceCacher

    A storage to persist a resource and it’s etag, when available.

    Resource is stored in the DataStore at the provided fileName, while the etag will be stored at \(fileName)_etag

    See more

    Declaration

    Swift

    public class ResourceCacher<Resource> where Resource : Decodable, Resource : Encodable
  • RetryPolicy

    The policy, returned by a RequestInterceptor that the NetworkClient should apply on a given NetworkResponse.

    See more

    Declaration

    Swift

    public enum RetryPolicy
  • URL
    See more

    Declaration

    Swift

    From TealiumPrismCore:
    extension URL: URLConvertible
  • URLComponents
    See more

    Declaration

    Swift

    From TealiumPrismCore:
    extension URLComponents: URLConvertible
  • URLConvertible

    A protocol used to receive requests with String/URL/URLComponents intercheangebly

    See more

    Declaration

    Swift

    public protocol URLConvertible
  • ErrorCooldown From TealiumPrismCore

    An object that increases a cooldown for every error event, and resets the cooldown to 0 when a non-error event happens.

    Declaration

    Swift

    public class ErrorCooldown
  • ObjectResponse

    A response containing a decoded object and the HTTP response.

    See more

    Declaration

    Swift

    public struct ObjectResponse<T>
  • ObjectResult From TealiumPrismCore

    A result type for object responses.

    Declaration

    Swift

    public typealias ObjectResult<T> = Result<ObjectResponse<T>, NetworkError>

© 2026 Tealium. All rights reserved. (Last updated: 2026-02-19)

Generated by jazzy ♪♫ v0.15.4, a Realm project.