2012-08-15 67 views
1

當用戶可以選擇啓用或禁用同步時,何時需要處理同步的最佳方法是什麼?Simperium和處理同步可選

具體而言,我目前遇到Simperium在其實例被釋放後崩潰的問題。考慮以下情形:

  1. 創建數據庫並插入一些物體
  2. 創建Simperium例如,登錄和同步所有脫機創建的對象
  3. 登出(指釋放Simperium實例)
  4. 創造更多一些

    :對象

應用程序現在崩潰

其中__NSCFString是已經得到了釋放

我使用的是當前的主分支前的一些對象。

回答

0

這是一個常見的請求,「iosupdate」分支有一些變化,這將有所幫助。你可以看到this GitHub issue的一些指導。總結(引用這個問題的作者):

當初始化simperium實例設置以下屬性:

self.simperium.authenticationOptional = YES; 

這使取消按鈕出現。

self.simperium.authenticationEnabled = NO; 

這會防止身份驗證對話框,從中彈出。

self.simperium.loginViewControllerClass = [LoginViewController class]; 這將在SPLoginViewController的自定義子類中刪除以覆蓋cancel:消息,否則您將不會收到用戶取消對話的反饋。

當用戶點擊符號「登錄」按鈕,我設置

self.simperium.authenticationEnabled = YES; 

這使得登錄控制器顯示出來。

0

我知道這是一個老問題,但我花了年齡試圖這樣,但沒有找到任何指針任何地方,所以......

以上的答案是正確的,但我設置

self.simperium.authenticationEnabled = YES; 

後發現我需要添加

[self.simperium authenticateIfNecessary]; 

讓登錄視圖出現。