RLMuser

Objective-C

@interface RLMUser : NSObject

Swift

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

RLMUserインスタンスは、単一の Realm アプリ ユーザー アカウントを表します。

ユーザーは 1 つ以上の認証情報を関連付けることができます。 これらの認証情報は認証プロバイダに対してユーザーを一意に識別し、Atlas App Services ユーザー アカウントにサインインするために使用されます。

ユーザー オブジェクトは SDK API 経由でのみ提供され、直接初期化することはできないことに注意してください。 ユーザー オブジェクトには任意のスレッドからアクセスできます。

  • このユーザーを識別する一意の Atlas App Services string。 これは ID とは異なることに注意してください。ユーザーは複数の ID を持っていても、識別子は 1 つだけです。 RLMuserIdentity を参照してください。

    宣言

    Objective-C

    @property (nonatomic, readonly) NS_SWIFT_NAME(id) NSString *identifier;

    Swift

    var id: String { get }
  • 現在ユーザーにリンクされている ID の配列を返します。

    宣言

    Objective-C

    @property (nonatomic, readonly) NSArray<RLMUserIdentity *> *_Nonnull identities;

    Swift

    var identities: [RLMUserIdentity] { get }
  • App Services にアクセスするために使用されるユーザーのリフレッシュ トークン。

    デフォルトでは、リフレッシュ トークンは発行後 60 日で期限切れになります。 この時間は、アプリの更新トークンが 30 分から 180 日の間で設定できます。

    管理 UI または 管理 API から、アプリ内のすべてのセッションのリフレッシュ トークンの有効期限を構成できます。

    宣言

    Objective-C

    @property (nonatomic, readonly, nullable) NSString *refreshToken;

    Swift

    var refreshToken: String? { get }
  • App Services にアクセスするために使用されるユーザーのアクセス トークン。

    これは、Data API や GraphQL などの Atlas App Services に HTTP リクエストを行うために必要です。 機密データとして扱う必要があります。

    Realm SDK はアクセス トークンを自動的に管理し、有効期限が切れるとリフレッシュします。

    宣言

    Objective-C

    @property (nonatomic, readonly, nullable) NSString *accessToken;

    Swift

    var accessToken: String? { get }
  • ユーザーの現在の状態。

    宣言

    Objective-C

    @property (nonatomic, readonly) RLMUserState state;

    Swift

    var state: RLMUserState { get }
  • ユーザーがログインしているかどうかを示します。 アクセス トークンとリフレッシュ トークンが空でない場合は true を返します。

    宣言

    Objective-C

    @property (nonatomic, readonly) BOOL isLoggedIn;

    Swift

    var isLoggedIn: Bool { get }

ライフサイクル

  • 指定されたパーティション値に対して、パーティションベースの同期構成インスタンスを作成します。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)configurationWithPartitionValue:
        (nullable id<RLMBSON>)partitionValue;

    パラメーター

    partitionValue

    Realm が分割されるRLMBSON値。

    戻り値

    指定されたパーティション値を使用するように設定された同期構成を持つデフォルトの 構成オブジェクト 。

  • 指定されたパーティション値に対して、パーティションベースの同期構成インスタンスを作成します。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        configurationWithPartitionValue:(nullable id<RLMBSON>)partitionValue
                        clientResetMode:(RLMClientResetMode)clientResetMode;

    パラメーター

    partitionValue

    Realm が分割されるRLMBSON値。

    clientResetMode

    クライアントがリセットした場合のファイル回復動作を決定します。 次を参照してください: https://mongodb.com/java-j/docs/realm/sync/error-handing/client-reset/

    戻り値

    指定されたパーティション値を使用するように設定された同期構成を持つ 構成オブジェクト 。

  • 指定されたパーティション値に対して、パーティションベースの同期構成インスタンスを作成します。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        configurationWithPartitionValue:(nullable id<RLMBSON>)partitionValue
                        clientResetMode:(RLMClientResetMode)clientResetMode
                      notifyBeforeReset:
                          (nullable RLMClientResetBeforeBlock)beforeResetBlock
                       notifyAfterReset:
                           (nullable RLMClientResetAfterBlock)afterResetBlock;

    パラメーター

    partitionValue

    Realm が分割されるRLMBSON値。

    clientResetMode

    クライアントがリセットした場合のファイル回復動作を決定します。 次を参照してください: https://mongodb.com/java-j/docs/realm/sync/error-handing/client-reset/

    beforeResetBlock

    クライアントがリセットされる前に通知するコールバック。 「 」を参照してください。 RLMClientResetBeforeBlock

    afterResetBlock

    クライアントがリセットされた後に通知するコールバック。 「 」を参照してください。 RLMClientResetAfterBlock

    戻り値

    指定されたパーティション値を使用するように設定された同期構成を持つ 構成オブジェクト 。

  • 指定されたパーティション値に対して、パーティションベースの同期構成インスタンスを作成します。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        configurationWithPartitionValue:(nullable id<RLMBSON>)partitionValue
                        clientResetMode:(RLMClientResetMode)clientResetMode
               manualClientResetHandler:
                   (nullable RLMSyncErrorReportingBlock)manualClientResetHandler;

    パラメーター

    partitionValue

    Realm が分割されるRLMBSON値。

    clientResetMode

    クライアントがリセットした場合のファイル回復動作を決定します。 次を参照してください: https://mongodb.com/java-j/docs/realm/sync/error-handing/client-reset/

    manualClientResetHandler

    クライアントのリセット中に呼び出されるエラー報告ブロック。 @ RLMSyncErrorReportingBlockRLMClientResetInfoを参照

    戻り値

    指定されたパーティション値を使用するように設定された同期構成を持つ 構成オブジェクト 。

  • 柔軟な同期構成インスタンスを作成します。これを使用して、柔軟な同期をサポートする Realm を開きます。

    注意

    サーバーサイドの単一の Device Sync アプリは、パーティションベースの Realm またはフレキシブルな同期ベースの Realm のいずれかでデータを同期できます。 アプリケーションにパーティションベースと柔軟な同期レルムの両方を含めるには、複数のサーバー側 Device Sync アプリを使用する必要があります。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)flexibleSyncConfiguration;

    戻り値

    柔軟な同期構成を持つRLMRealmConfigurationインスタンス。

  • 柔軟な同期構成インスタンスを作成します。これを使用して、柔軟な同期をサポートする Realm を開きます。

    注意

    サーバーサイドの単一の Device Sync アプリは、パーティションベースの Realm またはフレキシブルな同期ベースの Realm のいずれかでデータを同期できます。 アプリケーションにパーティションベースと柔軟な同期レルムの両方を含めるには、複数のサーバー側 Device Sync アプリを使用する必要があります。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        flexibleSyncConfigurationWithClientResetMode:
            (RLMClientResetMode)clientResetMode
                                   notifyBeforeReset:
                                       (nullable RLMClientResetBeforeBlock)
                                           beforeResetBlock
                                    notifyAfterReset:
                                        (nullable RLMClientResetAfterBlock)
                                            afterResetBlock;

    パラメーター

    clientResetMode

    クライアントがリセットした場合のファイル回復動作を決定します。 次を参照してください: https://mongodb.com/java-j/docs/realm/sync/error-handing/client-reset/

    beforeResetBlock

    クライアントがリセットされる前に通知するコールバック。 「 」を参照してください。 RLMClientResetBeforeBlock

    afterResetBlock

    クライアントがリセットされた後に通知するコールバック。 「 」を参照してください。 RLMClientResetAfterBlock

    戻り値

    柔軟な同期構成を持つRLMRealmConfigurationインスタンス。

  • 柔軟な同期構成インスタンスを作成します。これを使用して、柔軟な同期をサポートする Realm を開きます。

    注意

    サーバーサイドの単一の Device Sync アプリは、パーティションベースの Realm またはフレキシブルな同期ベースの Realm のいずれかでデータを同期できます。 アプリケーションにパーティションベースと柔軟な同期レルムの両方を含めるには、複数のサーバー側 Device Sync アプリを使用する必要があります。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        flexibleSyncConfigurationWithClientResetMode:
            (RLMClientResetMode)clientResetMode
                            manualClientResetHandler:
                                (nullable RLMSyncErrorReportingBlock)
                                    manualClientResetHandler;

    パラメーター

    clientResetMode

    クライアントがリセットした場合のファイル回復動作を決定します。 次を参照してください: https://mongodb.com/java-j/docs/realm/sync/error-handing/client-reset/

    manualClientResetHandler

    クライアントのリセット中に呼び出されるエラー報告ブロック。 @ RLMSyncErrorReportingBlockRLMClientResetInfoを参照

    戻り値

    柔軟な同期構成を持つRLMRealmConfigurationインスタンス。

  • 柔軟な同期構成インスタンスを作成します。これを使用して、柔軟な同期をサポートする Realm を開きます。

    注意

    サーバーサイドの単一の Device Sync アプリは、パーティションベースの Realm またはフレキシブルな同期ベースの Realm のいずれかでデータを同期できます。 アプリケーションにパーティションベースと柔軟な同期レルムの両方を含めるには、複数のサーバー側 Device Sync アプリを使用する必要があります。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        flexibleSyncConfigurationWithInitialSubscriptions:
            (nonnull RLMFlexibleSyncInitialSubscriptionsBlock)initialSubscriptions
                                              rerunOnOpen:(BOOL)rerunOnOpen;

    パラメーター

    initialSubscriptions

    サブスクリプションセット インスタンスを受け取るブロック。Realm が最初に開かれたときに実行されるサブスクリプションの初期セットを追加するために使用できます。

    rerunOnOpen

    true の場合、 はアプリを起動するたびに、指定されたサブスクリプションの初期セットを実行できるようにします。 これは、 動的時間範囲 や静的変数の再計算を必要とするその他のクエリの再実行に使用できます。

    戻り値

    柔軟な同期構成を持つRLMRealmConfigurationインスタンス。

  • 柔軟な同期構成インスタンスを作成します。これを使用して、柔軟な同期をサポートする Realm を開きます。

    注意

    サーバーサイドの単一の Device Sync アプリは、パーティションベースの Realm またはフレキシブルな同期ベースの Realm のいずれかでデータを同期できます。 アプリケーションにパーティションベースと柔軟な同期レルムの両方を含めるには、複数のサーバー側 Device Sync アプリを使用する必要があります。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        flexibleSyncConfigurationWithInitialSubscriptions:
            (nonnull RLMFlexibleSyncInitialSubscriptionsBlock)initialSubscriptions
                                              rerunOnOpen:(BOOL)rerunOnOpen
                                          clientResetMode:
                                              (RLMClientResetMode)clientResetMode
                                        notifyBeforeReset:
                                            (nullable RLMClientResetBeforeBlock)
                                                beforeResetBlock
                                         notifyAfterReset:
                                             (nullable RLMClientResetAfterBlock)
                                                 afterResetBlock;

    パラメーター

    initialSubscriptions

    サブスクリプションセット インスタンスを受け取るブロック。Realm が最初に開かれたときに実行されるサブスクリプションの初期セットを追加するために使用できます。

    rerunOnOpen

    true の場合、 はアプリを起動するたびに、指定されたサブスクリプションの初期セットを実行できるようにします。 これは、 動的時間範囲 や静的変数の再計算を必要とするその他のクエリの再実行に使用できます。

    clientResetMode

    クライアントがリセットした場合のファイル回復動作を決定します。 次を参照してください: https://mongodb.com/java-j/docs/realm/sync/error-handing/client-reset/

    beforeResetBlock

    クライアントがリセットされる前に通知するコールバック。 「 」を参照してください。 RLMClientResetBeforeBlock

    afterResetBlock

    クライアントがリセットされた後に通知するコールバック。 「 」を参照してください。 RLMClientResetAfterBlock

    戻り値

    柔軟な同期構成を持つRLMRealmConfigurationインスタンス。

  • 柔軟な同期構成インスタンスを作成します。これを使用して、柔軟な同期をサポートする Realm を開きます。

    注意

    サーバーサイドの単一の Device Sync アプリは、パーティションベースの Realm またはフレキシブルな同期ベースの Realm のいずれかでデータを同期できます。 アプリケーションにパーティションベースと柔軟な同期レルムの両方を含めるには、複数のサーバー側 Device Sync アプリを使用する必要があります。

    宣言

    Objective-C

    - (nonnull RLMRealmConfiguration *)
        flexibleSyncConfigurationWithInitialSubscriptions:
            (nonnull RLMFlexibleSyncInitialSubscriptionsBlock)initialSubscriptions
                                              rerunOnOpen:(BOOL)rerunOnOpen
                                          clientResetMode:
                                              (RLMClientResetMode)clientResetMode
                                 manualClientResetHandler:
                                     (nullable RLMSyncErrorReportingBlock)
                                         manualClientResetHandler;

    パラメーター

    initialSubscriptions

    サブスクリプションセット インスタンスを受け取るブロック。Realm が最初に開かれたときに実行されるサブスクリプションの初期セットを追加するために使用できます。

    rerunOnOpen

    true の場合、 はアプリを起動するたびに、指定されたサブスクリプションの初期セットを実行できるようにします。 これは、 動的時間範囲 や静的変数の再計算を必要とするその他のクエリの再実行に使用できます。

    clientResetMode

    クライアントがリセットした場合のファイル回復動作を決定します。 次を参照してください: https://mongodb.com/java-j/docs/realm/sync/error-handing/client-reset/

    manualClientResetHandler

    クライアントのリセット中に呼び出されるエラー報告ブロック。 @ RLMSyncErrorReportingBlockRLMClientResetInfoを参照

    戻り値

    柔軟な同期構成を持つRLMRealmConfigurationインスタンス。

セッション

  • 指定された URL に対してこのユーザーに属する有効なセッション オブジェクトを取得します。そのようなオブジェクトが存在しない場合はnilを取得します。

    宣言

    Objective-C

    - (nullable RLMSyncSession *)sessionForPartitionValue:
        (nonnull id<RLMBSON>)partitionValue;

    Swift

    func session(forPartitionValue partitionValue: any RLMBSON) -> RLMSyncSession?
  • このユーザーに属するすべての有効なセッションを取得します。

    宣言

    Objective-C

    @property (nonatomic, readonly) NSArray<RLMSyncSession *> *_Nonnull allSessions;

    Swift

    var allSessions: [RLMSyncSession] { get }

カスタム データ

  • ユーザーのカスタム データ。 これは、Atlas App Services アプリで構成されます。

    宣言

    Objective-C

    @property (nonatomic, readonly) NS_REFINED_FOR_SWIFT NSDictionary *customData;
  • ユーザーのプロファイル。

    宣言

    Objective-C

    @property (nonatomic, readonly) RLMUserProfile *_Nonnull profile;

    Swift

    var profile: RLMUserProfile { get }
  • ユーザーのカスタム データを更新します。 これにより、ユーザーの認証セッションが更新されます。

    宣言

    Objective-C

    - (void)refreshCustomDataWithCompletion:
        (nonnull RLMUserCustomDataBlock)completion;
  • 現在認証されているユーザーを新しい ID にリンクします。ID は、パラメータとして指定された認証情報によって定義されます。 これは、このRLMUserが、作成されたクライアントで現在認証されている場合にのみ成功します。 成功すると、新しいリンクされた認証情報を持つ新しいユーザーが返されます。

    宣言

    Objective-C

    - (void)linkUserWithCredentials:(nonnull RLMCredentials *)credentials
                         completion:(nonnull RLMOptionalUserBlock)completion;

    パラメーター

    credentials

    ユーザーを新しい ID にリンクするために使用されるRLMCredentials

    completion

    リンクが完了したときに呼び出す完了ハンドラー。 操作が成功した場合、結果には現在ログインしているユーザーを表す新しいRLMUserオブジェクトが含まれます。

  • ユーザーを削除します

    これにより、このユーザーに関連するセッションがログアウトされ、破棄されます。 ユーザーが見つからない場合、またはすでに削除されている場合、完了ブロックはエラーを返します。

    宣言

    Objective-C

    - (void)removeWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;

    Swift

    func remove() async throws

    パラメーター

    completion

    完了時に呼び出されるコールバック

  • は、Atlas App Services アプリからこのユーザーを完全に削除します。

    ユーザー状態はRemovedに設定され、セッションは破棄されます。 削除リクエストが失敗した場合、ローカル認証状態は復元されません。

    宣言

    Objective-C

    - (void)deleteWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;

    Swift

    func delete() async throws

    パラメーター

    completion

    完了時に呼び出されるコールバック

  • 現在のユーザーをログアウトする

    ユーザー状態は、匿名ユーザーの場合はRemoved 、またはメール/パスワードまたはサードパーティ認証クライアントによって認証されている場合はLoggedOutに設定されます。ログアウト リクエストが失敗した場合でも、このメソッドはローカル認証状態をクリアします。

    宣言

    Objective-C

    - (void)logOutWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;

    Swift

    func logOut() async throws

    パラメーター

    completion

    完了時に呼び出されるコールバック

  • ユーザー API キー認証プロバイダーのクライアントで、ユーザー API キーの作成と変更に使用できます。

    このクライアントは、認証されたユーザーのみが使用する必要があります。

    宣言

    Objective-C

    @property (nonatomic, readonly) RLMAPIKeyAuth *_Nonnull apiKeysAuth;

    Swift

    var apiKeysAuth: RLMAPIKeyAuth { get }
  • MongoDB のリモート インスタンスを操作するためのクライアント

    宣言

    Objective-C

    - (nonnull RLMMongoClient *)mongoClientWithServiceName:
        (nonnull NSString *)serviceName;

    パラメーター

    serviceName

    MongoDB サービスの名前

  • 指定された名前と引数で Atlas App Services 関数を呼び出します。

    宣言

    Objective-C

    - (void)callFunctionNamed:(nonnull NSString *)name
                    arguments:(nonnull NSArray<id<RLMBSON>> *)arguments
              completionBlock:(nonnull RLMCallFunctionCompletionBlock)completion;

    パラメーター

    name

    呼び出される Atlas App Services 関数の名前。

    arguments

    関数に提供する引数のBSONArray

    completion

    関数の呼び出しが完了したときに呼び出す完了ハンドラー。 このハンドラーは非メインのグローバルDispatchQueueで実行されます。