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 に報告しないのはなぜですか? 私は明らかに何かが欠けています。チャンネルが正しく設定されていないと思われます。
あなたの答えが私の問題を解決するなら、私はそれを受け入れます。