RLMSyncManager

Objective-C


@interface RLMSyncManager : NSObject

Swift

@_nonSendable(_assumed) class RLMSyncManager : NSObject, @unchecked Sendable

充当同步相关配置中心点的管理器。

  • 一个区块,可以选择设置为向应用程序报告与同步相关的错误。

    通过此区块报告的任何错误均为RLMSyncError类型,并标有RLMSyncErrorDomain域。

    通过此机制报告的错误是致命的,但有几个例外。 请参阅RLMSyncError ,了解可通过区块报告的错误类型的信息,以及有关处理可恢复错误代码的建议。

    声明

    Objective-C

    @property (copy, nullable) RLMSyncErrorReportingBlock errorHandler;

    Swift

    var errorHandler: RLMSyncErrorReportingBlock? { get set }
  • 标识此应用程序的string ,包含在同步连接的用户代理标头中。 默认情况下,这是应用程序的捆绑包标识符。

    必须在首次打开同步 Realm 之前设置此属性。 打开 Realm 后所做的任何修改都将被忽略。

    声明

    Objective-C

    @property (copy) NSString *_Nonnull userAgent;

    Swift

    var userAgent: String { get set }
  • 已弃用

    使用RLMLogger.default.level / Logger.shared.level设置/获取默认记录器阈值级别。

    新打开的同步 Realm 将使用的日志记录阈值。 默认为RLMSyncLogLevelInfo

    默认情况下,日志字符串会输出到 Apple 系统记录器。 将 logger 设置为以执行自定义日志记录逻辑。

    警告

    必须在打开任何同步 Realm 之前设立此属性。 在打开任何同步的Realm后设置它不会执行任何操作。

    声明

    Objective-C

    @property RLMSyncLogLevel logLevel;

    Swift

    var logLevel: RLMSyncLogLevel { get set }
  • 已弃用

    使用RLMLogger.default / Logger.shared设立/获取默认记录器。

    每当同步客户端有日志消息时都会调用该函数。

    如果为 nil,则将日志字符串输出到 Apple System Logger。

    警告

    必须在打开任何同步 Realm 之前设立此属性。 在打开任何同步的Realm后设置它不会执行任何操作。

    声明

    Objective-C

    @property (nullable) RLMSyncLogFunction logger;

    Swift

    var logger: RLMSyncLogFunction? { get set }
  • 向 Atlas App Services 发出请求时发送授权数据的 HTTP 标头的名称,Atlas App Services 已配置为需要自定义授权标头。

    声明

    Objective-C

    @property (copy, nullable) NSString *authorizationHeaderName;

    Swift

    var authorizationHeaderName: String? { get set }
  • 额外的HTTP headers附加到对Atlas App Services的每个请求。

    在同步会话处于活动状态时修改此属性将导致所有会话断开连接并使用新标头重新连接。

    声明

    Objective-C

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

    Swift

    var customRequestHeaders: [String : String]? { get set }
  • 同步连接的各种连接超时类型的选项。

    如果为 nil,则使用所有超时的默认值。

    警告

    必须在打开任何同步 Realm 之前设立此属性。 在打开任何同步的Realm后设置它不会执行任何操作。

    声明

    Objective-C

    @property (copy, nullable) RLMSyncTimeoutOptions *timeoutOptions;

    Swift

    @NSCopying var timeoutOptions: RLMSyncTimeoutOptions? { get set }