Ditto
public class Ditto
Ditto
is the entry point for accessing Ditto-related functionality.
-
An optional delegate that will be called with SDK lifecycle information if defined.
Declaration
Swift
public var delegate: DittoDelegate? { get set }
-
Configure a custom identifier for the current device.
When using
observePeers()
, each remote peer is represented by a short UTF-8 “device name”. By default this will be a truncated version of the device’s hostname. It does not need to be unique among peers. Configure the device name before callingstartSync()
. If it is too long it may be truncated.Declaration
Swift
public var deviceName: String { get set }
-
The site ID that the instance of
Ditto
is using as part of its identity.Declaration
Swift
public var siteID: UInt64 { get }
-
Provides access to the SDK’s store functionality.
Declaration
Swift
public var store: DittoStore { get }
-
The
DispatchQueue
that will be used to deliver delegate events. Defaults toDispatchQueue.main
.Declaration
Swift
public var delegateEventQueue: DispatchQueue { get set }
-
Assign a new transports configuration. By default peer-to-peer transports (Bluetooth, WiFi and AWDL) are enabled.
You may use this method to alter the configuration at any time, however sync will not begin until
startSync
is called.Declaration
Swift
public func setTransportConfig(config: DittoTransportConfig)
-
Initializes a new
Ditto
.Throws
DittoSwiftError
Declaration
Swift
public init( identity: DittoIdentity = .development(), persistenceDirectory directory: URL? = nil )
Parameters
identity
Provide the identity of the entity that is interacting with Ditto.
persistenceDirectory
The directory that will be used to persist Ditto data.
-
Activate a
Ditto
instance by setting an access license. You cannot interact withDitto
before you have activated it.Declaration
Swift
public func setAccessLicense(_ license: String)
Parameters
license
The license to activate the
Ditto
instance with. -
Starts the network transports. Ditto will connect to other devices.
By default Ditto will enable all peer-to-peer transport types. On iOS this means Bluetooth, WiFi and AWDL. The network configuration can be customized using the
setTransportConfig
method.Declaration
Swift
public func startSync()
-
Stops all network transports.
You may continue to use the database locally but no data will sync to or from other devices.
Declaration
Swift
public func stopSync()
-
Request bulk status information about the transports. This is mostly intended for statistical or debugging purposes.
Throws
DittoSwiftError
Declaration
Swift
public func transportDiagnostics() throws -> DittoTransportDiagnostics
Return Value
An instance of
DittoTransportDiagnostics
. -
Request information about Ditto peers in range of this device.
This method returns an observer which should be held as long as updates are required. A newly registered observer will have a peers update delivered to it immediately. Then it will be invoked repeatedly when Ditto devices come and go, or the active connections to them change.
Declaration
Swift
public func observePeers(callback: @escaping (Array<DittoRemotePeer>) -> ()) -> DittoPeersObserver
-
A string identifying the version of the DittoSwift SDK.
Declaration
Swift
public var sdkVersion: String { get }