# Configuration

    @objc(LSConfiguration)
    final class Configuration

    extension Configuration : CVarArg, CustomDebugStringConvertible, CustomStringConvertible, Equatable, Hashable, NSCopying, NSObjectProtocol

LicenseSpring SDK configuration.

- `copy(with:)`

  Undocumented

  #### Declaration

  Swift

      func copy(with zone: NSZone? = nil) -> Any

- `apiKey`

  API key acquired from LicenseSpring.

  #### Declaration

  Swift

      @objc
      var apiKey: String

- `sharedKey`

  Shared key acquired from LicenseSpring.

  #### Declaration

  Swift

      @objc
      var sharedKey: String

- `productCode`

  Product code code acquired from LicenseSpring.

  #### Declaration

  Swift

      @objc
      var productCode: String

- `appName`

  Application name. Defaults to main application bundle name if not set.

  #### Declaration

  Swift

      @objc
      var appName: String

- `appVersion`

  Application version. Defaults to main application bundle short version if not set.

  #### Declaration

  Swift

      @objc
      var appVersion: String

- `customerAccountCode`

  Customer group (account) code that is required for SSO.

  Note

  Meaningful for user-based auth only. If you don’t plan to provide SSO you can ignore this method. By default empty. Contact support to get more details implementing SSO.

  #### Declaration

  Swift

      @objc
      var customerAccountCode: String?

- `airgapKey`

  Air gap public key.

  #### Declaration

  Swift

      @objc
      var airgapKey: String?

- `licenseFileName`

  Custom name of local license file.

  #### Declaration

  Swift

      @objc
      var licenseFileName: String

- `licenseDirectoryPath`

  Custom directory containing local license file.

  #### Declaration

  Swift

      @objc
      var licenseDirectoryPath: URL

- `serviceURL`

  Alternate base URL for LicenseSpring API.

  Note

  In general should not be used in client code.

  #### Declaration

  Swift

      @objc
      var serviceURL: URL

- `hardwareID`

  Custom hardware ID of the device.

  #### Declaration

  Swift

      @objc
      var hardwareID: String

- `collectHostNameAndLocalIP`

  Boolean indicates if SDK should send host, local IP and MAC to the LicenseSpring platform.

  #### Declaration

  Swift

      @objc
      var collectHostNameAndLocalIP: Bool

- `networkTimeout`

  Timeout value for network operations.

  #### Declaration

  Swift

      @objc
      var networkTimeout: TimeInterval

- `licenseCryptor`

  Timeout value for network operations.

  #### Declaration

  Swift

      @objc
      var licenseCryptor: any LicenseCryptor

- `proxyHost`

  HTTPs proxy host.

  #### Declaration

  Swift

      @objc
      var proxyHost: String?

- `proxyPort`

  HTTPs proxy port.

  #### Declaration

  Swift

      @objc
      var proxyPort: UInt16

- `gracePeriod`

  License grace period in seconds.

  If not set, then default will be 48 hours. Set 0 to disable grace period.

  For cloud floating licenses grace period on license check is enabled if more than an hour of floating period remains.

  #### Declaration

  Swift

      @objc
      var gracePeriod: TimeInterval

- `client_id`

  ClientID

  #### Declaration

  Swift

      @objc
      var client_id: String

- `client_secret`

  Client Secret

  #### Declaration

  Swift

      @objc
      var client_secret: String

- `CryptoProviderKey`

  Crypto Provider Key

  #### Declaration

  Swift

      @objc
      var CryptoProviderKey: String

- `isOauth`

  IsOAuth

  #### Declaration

  Swift

      @objc
      var isOauth: Bool

- `isGuardFileEnabled`

  ProtectOfflineActivation

  #### Declaration

  Swift

      @objc
      var isGuardFileEnabled: Bool { get }

- `extendedOptions`

  ExtendedOptions

  #### Declaration

  Swift

      @objc
      var extendedOptions: ExtendedOptions?

- `isLoggingEnabled`

  IsLoggingEnabled

  #### Declaration

  Swift

      @objc
      var isLoggingEnabled: Bool

- `isVMDetectionEnabled`

  Whether detection of Virtual machines is enabled

  #### Declaration

  Swift

      @objc
      var isVMDetectionEnabled: Bool { get }

- `isVM`

  In case VM detection enabled returns true if app currently running in virtualized environment

  #### Declaration

  Swift

      @objc
      var isVM: Bool { get }

- `detectedVMName`

  Detected virtual machine name

  #### Declaration

  Swift

      @objc
      var detectedVMName: String? { get }

- `certificateChain`

  Undocumented

  #### Declaration

  Swift

      @objc
      var certificateChain: String? { get }

- `publicKey`

  PublicKey

  #### Declaration

  Swift

      @objc
      var publicKey: String

- `publicKeyFromBase64`

  PublicKey from base64 String

  #### Declaration

  Swift

      @objc
      var publicKeyFromBase64: SecKey? { get }

- `init(apiKey:sharedKey:productCode:publicKey:extendedOptions:)`

  Undocumented

  #### Declaration

  Swift

      @objc
      init(apiKey: String, sharedKey: String, productCode: String, publicKey: String? = nil, extendedOptions: ExtendedOptions? = nil)

- `init(oAuthCredentials:productCode:publicKey:extendedOptions:)`

  Undocumented

  #### Declaration

  Swift

      @objc
      init(oAuthCredentials: OAuthCredentials, productCode: String, publicKey: String? = nil, extendedOptions: ExtendedOptions? = nil)

- `defaultServiceURL`

  Undocumented

  #### Declaration

  Swift

      static let defaultServiceURL: URL

- `defaultLicenseFileName`

  Undocumented

  #### Declaration

  Swift

      static let defaultLicenseFileName: String

- `licenseFile`

  Full path to the license file.

  #### Declaration

  Swift

      @objc
      var licenseFile: URL { get }

- `createExtendedOptions(enableVMDetection:alternateKey:proxy:cloudIdRequestTimeout:deviceIdAlgorithm:customHeaders:bundleCode:airgapSkipLocalTimeCheck:protectOfflineActivation:)`

  Undocumented

  #### Declaration

  Swift

      func createExtendedOptions(enableVMDetection: Bool = false, alternateKey: String? = nil, proxy: ProxySettings = ProxySettings(), cloudIdRequestTimeout: Int = 200, deviceIdAlgorithm: DeviceIDAlgorithm = .default, customHeaders: [String : String] = [:], bundleCode: String? = nil, airgapSkipLocalTimeCheck: Bool = false, protectOfflineActivation: Bool = true) -> ExtendedOptions

- `createExtendedOptionsDefault()`

  Undocumented

  #### Declaration

  Swift

      func createExtendedOptionsDefault() -> ExtendedOptions

- `createProxySettings(user:password:proxyUri:)`

  Undocumented

  #### Declaration

  Swift

      func createProxySettings(user: String, password: String, proxyUri: String? = nil) -> ProxySettings

© 2026 LicenseSpring. All rights reserved. (Last updated: 2026-05-27)

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