2014-12-19 48 views
1

我的目標:獲得https://github.com/couchbaselabs/ToDoLite-iOS與Couchbase服務器和同步網關localhost而不是默認演示網址同步。Couchbase Mobile(Sync Gateway)示例TODOlite應用程序不會複製;抱怨_facebook不存在

我運行同步網關就像這樣:bin/sync_gateway -url http://localhost:8091

然後我在這個例子中唯一改變的事情是:

-#define kSyncGatewayUrl @"http://demo.mobile.couchbase.com/todolite" 
+#define kSyncGatewayUrl @"http://localhost:4984/sync_gateway/" 

當我運行

Error: Error Domain=CBLHTTP Code=404 "404 not_found" UserInfo=0x7ff11941fb50 {NSURL=http://localhost:4984/sync_gateway/_facebook, NSLocalizedFailureReason=not_found, NSLocalizedDescription=404 not_found} 

我該如何解決這個?

回答

2

我解決了它。原因是我跑sync_gateway沒有啓用Facebook註冊支持。

通常這是在config.json文件來完成。其實this configuration file was supplied in ToDoLite all along

至關重要的是,你推出sync_gateway與此配置文件。自述實際上這個規定,但寬鬆的休閒方式......

cd ToDoLite-iOS 
sync_gateway -url http://localhost:8091 sync-gateway-config.json 

NB:我認爲sync_gateway上面已經通過$PATH訪問。無論如何,這是一個好主意。我也沒有注意到dbname。所以你需要更換

#define kSyncGatewayUrl @"http://demo.mobile.couchbase.com/todolite"` 

#define kSyncGatewayUrl @"http://localhost:4984/todos" 

那麼,有什麼步驟的完整序列,使其能工作?:

  1. 如果你想擦除服務器上的所有內容,並重新開始。自制酒桶將這個設置隱藏在難以重置的其他地方,因此建議使用手動安裝。

  2. 安裝Couchbase服務器

  3. 設置的登錄憑據,如果全新安裝;否則只需登錄

  4. 在羣集上創建名稱爲todos的存儲桶(數據庫)。這是TODOLite使用的dbname

  5. 啓動同步網關。確保傳入複製URL和JSON配置文件。 bin/sync_gateway -url http://localhost:8091 sync-gateway-config.json;保持同步網關上運行

  6. 在TODOLite AppDelegate.m,改變kSyncGatewayUrl#define kSyncGatewayUrl @"http://localhost:4984/todos"。注意數據庫的名字是必要的!

  7. (可選)通過轉至http://localhost:4985/_admin/db/sync_gateway/sync訪問同步網關的管理員界面。您可以在此設置同步功能。


如果你想知道在哪裏這些端口號從,檢查出

+0

好的解釋!好奇你在建什麼和用例?發送郵件到hokshunpoon.me – sweetiewill 2015-01-03 02:59:37

0

默認的遠程同步URL將根據您下載的項目的版本(iOS,Android,PhoneGap和Motion)在不同的文件中定義。要找到相應的字符串進行更改,只需在項目中搜索URL「http://demo.mobile.couchbase.com/todolite」並將其替換爲新的同步網關數據庫的URL即可。

相關問題