0

Couchbase Sync Gateway と Couchbase Lite for iOS を使用して、サーバーから iOS アプリに Couchbase バケットを同期しようとしています。

これまでのところ、Couchbase に付属している「beer-sample」サンプル バケットを使用しています。

私の Ubuntu 12.04 LTS VM では、Couchbase Sync Gateway は次の構成ファイルで開始されます。

{
   "interface":":4984",
   "adminInterface":":4985",
   "log":["REST"],
   "databases":{
      "sync_gateway":{
         "server":"http://localhost:8091",
         "bucket":"beer-sample",
         "sync":`function(doc) {channel(["public"]);}`,
         "users": {
             "GUEST": {"disabled": false, "admin_channels": ["public"]}
          }
      }
   }
}

私の意図は、最初に認証を気にせずに実行することです。つまり、GUEST ユーザーです。

サンプルバケットにはチャネル割り当てがないため、チャネル割り当てがドキュメントに依存していないことを確認するために、いくつかの例も変更しました。

"sync":`function(doc) {channel(["public"]);}`,

https://github.com/couchbaselabs/ToDoLite-iOS/blob/master/TodoLite7/CBLSyncManager.mのコードを自分のサンプル プロジェクトに含め、少し試してみると、iOS が実際にコネクタに接続できるようになりました。

168 行目の NSLog には、次の出力が表示されます。

[1026:60b] SYNCMGR: active=0; status=1; 0/0; (null)
[1026:60b] SYNCMGR: active=1; status=3; 0/0; (null)
[1026:60b] SYNCMGR: active=0; status=2; 0/0; (null)

…私の解釈では、(0 個のドキュメントの) 同期は正常に機能していたということです。

Couchbase Sync Gateway がドキュメントを Couchbase Lite に報告しないのはなぜですか? 私は明らかに何かが欠けています。チャンネルが正しく設定されていないと思われます。

あなたの答えが私の問題を解決するなら、私はそれを受け入れます。

4

1 に答える 1

1

これはコミュニティ ポータルから再投稿されたものであるため、ここでこの問題を締めくくり、返信として再投稿します。引き続き質問がある場合は、コミュニティ ポータルに投稿してください。

問題の説明と構成に基づいて、同期する必要がある既存の Couchbase Server バケットがあることを同期ゲートウェイに通知するように、同期ゲートウェイを構成する必要があります。

これは、ベータ 2 の後に追加された最近の機能です。現在、ドキュメントの作成に取り組んでおり、https ://github.com/couchbase/sync_gateway/wiki/Bucket-Shadowing から暫定的に入手できます。

続きのスレッドはこちらにあります: http://www.couchbase.com/communities/q-and-a/sync-couchbase-lite-through-couchbase-sync-gateway-doesn%E2%80%99t-see-any -documents-channel-issue

于 2014-04-23T16:14:11.823 に答える