DITDitto
@interface DITDitto : NSObject
The entrypoint to the Ditto SDK.
For a DITDitto
instance to continue to connect to other devices it must be kept in scope.
-
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 calling
start
. If it is too long it will be truncated.Declaration
Objective-C
@property (class, nonatomic) NSString *_Nonnull deviceName;
-
Provides access to the SDK’s store functionality.
Declaration
Objective-C
@property (readonly) DITStore *_Nonnull store;
-
The site ID that the instance of
DITDitto
is using as part of its identity.Declaration
Objective-C
@property (nonatomic, readonly) uint64_t siteID;
-
An optional delegate that will be called with SDK lifecycle information if defined.
Declaration
Objective-C
@property (nonatomic, weak) id<DITDittoDelegate> _Nullable delegate;
-
The dispatch queue that will be used to deliver delegate events. Defaults to the main queue.
Declaration
Objective-C
@property (nonatomic) dispatch_queue_t _Nonnull delegateEventQueue;
-
Initializes a new
DITDitto
.This will initialize an instance of
DITDitto
with the default configuration.Declaration
Objective-C
- (nonnull instancetype)init;
-
Initializes a new
DITDitto
.Declaration
Objective-C
- (nonnull instancetype)initWithIdentity:(nonnull DITIdentity *)identity;
Parameters
identity
Provide the identity of the entity that is interacting with Ditto.
-
Initializes a new
DITDitto
.Declaration
Objective-C
- (nonnull instancetype)initWithIdentity:(nullable DITIdentity *)identity persistenceDirectory:(nullable NSURL *)directory;
Parameters
identity
Provide the identity of the entity that is interacting with Ditto.
directory
The directory that will be used to persist Ditto data.
-
Starts the network transports. Ditto will connect to other devices and synchronize data with them where appropriate.
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
Objective-C
- (void)startSync;
-
Stops all network transports.
You may continue to use the database locally but no data will sync to or from other devices.
Declaration
Objective-C
- (void)stopSync;
-
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. Sync will not begin until
startSync
is called.Declaration
Objective-C
- (void)setTransportConfig:(nonnull DITTransportConfig *)config;
-
Activate a
DITDitto
instance by setting an access license. You cannot meaningfully interact with aDITDitto
instance before you have activated it.Declaration
Objective-C
- (void)setAccessLicense:(nonnull NSString *)license;
Parameters
license
The license to activate the
DITDitto
instance with. -
Clears the cached site ID, if one had been cached.
Declaration
Objective-C
- (void)clearSiteID;
-
Request bulk status information about the transports.
This is mostly intended for statistical or debugging purposes.
Declaration
Objective-C
- (nullable DITTransportDiagnostics *)transportDiagnostics: (NSError *_Nullable *_Nullable)error;
Parameters
error
On input, a pointer to an error object. If an error occurs, this pointer is set to an actual error object containing the error information. You may specify nil for this parameter if you do not want the error information.
Return Value
An instance of
DITTransportDiagnostics
ornil
if there was an error. -
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. From then on it will be invoked repeatedly when Ditto devices come and go, or the active connections to them change.
Declaration
Objective-C
- (nonnull DITPeersObserver *)observePeers: (nonnull void (^)(NSArray<DITRemotePeer *> *_Nonnull))callback;
-
Returns a string identifying the version of the Ditto SDK.
Declaration
Objective-C
- (nonnull NSString *)sdkVersion;