RLMSyncManager

@interface RLMSyncManager : NSObject

A singleton manager which serves as a central point for sync-related configuration.

  • A block which can optionally be set to report sync-related errors to your application.

    Any error reported through this block will be of the RLMSyncError type, and marked with the RLMSyncErrorDomain domain.

    Errors reported through this mechanism are fatal, with several exceptions. Please consult RLMSyncError for information about the types of errors that can be reported through the block, and for for suggestions on handling recoverable error codes.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) RLMSyncErrorReportingBlock errorHandler;

    Swift

    var errorHandler: RLMSyncErrorReportingBlock? { get set }
  • A reverse-DNS string uniquely identifying this application. In most cases this is automatically set by the SDK, and does not have to be explicitly configured.

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *_Nonnull appID;

    Swift

    var appID: String { get set }
  • A string identifying this application which is included in the User-Agent header of sync connections. By default, this will be the application’s bundle identifier.

    This property must be set prior to opening a synchronized Realm for the first time. Any modifications made after opening a Realm will be ignored.

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *_Nonnull userAgent;

    Swift

    var userAgent: String { get set }
  • The logging threshold which newly opened synced Realms will use. Defaults to RLMSyncLogLevelInfo.

    By default logging strings are output to Apple System Logger. Set logger to perform custom logging logic instead.

    Warning

    This property must be set before any synced Realms are opened. Setting it after opening any synced Realm will do nothing.

    Declaration

    Objective-C

    @property (nonatomic) RLMSyncLogLevel logLevel;

    Swift

    var logLevel: RLMSyncLogLevel { get set }
  • The function which will be invoked whenever the sync client has a log message.

    If nil, log strings are output to Apple System Logger instead.

    Warning

    This property must be set before any synced Realms are opened. Setting it after opening any synced Realm will do nothing.

    Declaration

    Objective-C

    @property (nonatomic, nullable) RLMSyncLogFunction logger;

    Swift

    var logger: RLMSyncLogFunction? { get set }
  • The name of the HTTP header to send authorization data in when making requests to MongoDB Realm which has been configured to expect a custom authorization header.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *authorizationHeaderName;

    Swift

    var authorizationHeaderName: String? { get set }
  • Extra HTTP headers to append to every request to MongoDB Realm.

    Modifying this property while sync sessions are active will result in all sessions disconnecting and reconnecting using the new headers.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSDictionary<NSString *, NSString *> *customRequestHeaders;

    Swift

    var customRequestHeaders: [String : String]? { get set }
  • Options for the assorted types of connection timeouts for sync connections.

    If nil default values for all timeouts are used instead.

    Warning

    This property must be set before any synced Realms are opened. Setting it after opening any synced Realm will do nothing.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) RLMSyncTimeoutOptions *timeoutOptions;

    Swift

    @NSCopying var timeoutOptions: RLMSyncTimeoutOptions? { get set }