2017-07-13 14 views
3

私は、CloudKitの同期からRealm Mobile Platformの使用に移行しています。Realm Mobile Platformでの透過的なログイン

私は、ログインプロセスをユーザーに透過的にしたいので、私はCloudKit認証を使用しています。この方法で、アカウントの作成やパスワードの覚えが心配する必要はありません。もちろん、ユーザーにiCloudアカウントが設定されていない場合、データは同期されませんが、アプリはすでに領域なしで動作しています.iCloudアカウントが原因でデータが同期されないことをユーザーに警告するだけです見つけることができませんでした。

私は、同期レルムを開くために、ユーザーの資格情報を提供する必要があることにドキュメントで気づきました。

私の質問は、ユーザーが初めてインターネットに接続していない、またはiCloudアカウントの設定をしていないアプリを起動するケースをどのように処理するのですか?ユーザーがiCloudアカウントを持っていない場合(これは現在のアプリケーションの仕組みです)、データをローカルに保存したいのですが、正しく理解すれば、同期領域を開くことができるのはユーザーの資格情報を取得するには、インターネットアクセスとiCloudアカウントがデバイスに設定されている必要があります。レルムでそのケースを処理する簡単な方法はありますか?

私は別のオフラインストレージを持ち、そのデータを同期した領域にオンラインで移動することができると知っていますが、それは正しいことをするのはやりにくく、かなりの作業になります。

答えて

1

残念ながらあなたは正しいです:ユーザーがRealm Object Serverに初めてログインするとき(+[SyncUser logInWithCredentials:...]経由)、ユーザーはすでに使用しているIDプロバイダアカウントを持っている必要があります(あなたの場合はiCloudアカウント)、およびインターネット接続が含まれます。

ユーザーが少なくとも一度ログインすると、そのレルムの資格情報は内部的に保持され、接続がない場合でもすぐにレルムを開くことができます。

現時点で最も有効な回避策は、同期されていないレルムを使用してログインする前に必要なデータを保存してから、同期レルムにデータを手動でコピーすることですユーザーは正常に同期し、ユーザーと同期したレルムを開きます。

私たちは、これが私たちの多くのユーザーのための痛みのポイントを知っている、そしてユーザーがログインする前に、あなたはすぐに「同期」レルムの使用を開始できるようにする機能で、近い将来にこの欠陥に対処する予定。

+0

非常に良い答え。ありがとう!そのアップデートを楽しみにしています。 –

関連する問題