2015-11-19 21 views
1

爲了解決我遇到的很多問題,我決定阻止單個用戶同時登錄。當用戶登錄Parse時,我檢查是否有一個現有的Bool(isUserLoggedIn)設置爲true的安裝。如果存在,用戶會收到一個提示,請求在所有其他設備上註銷我的應用程序,然後再繼續。一旦他們這樣做,他們將能夠登錄。解析&Swift - 防止同時登錄 - 解析安裝對象,當用戶從手機上卸載應用程序

這一切工作正常。

但是,我意識到潛在的問題。如果用戶登錄到我的應用程序,然後從他們的手機中刪除我的應用程序(,然後他們註銷),我從來沒有機會將安裝對象中的布爾值設置爲false。因此,用戶刪除應用程序,安裝對象(也包含其用戶objectId)仍將isUserLoggedInBool設置爲true。

當用戶重新安裝在手機上我的應用程序,並且去與他們先前創建的帳戶登錄,我的應用程序不會讓他們登錄,因爲提示認爲,以前的安裝仍登錄。

那麼,關於如何解決這個問題的任何想法?我可以解決它,如果我可以得到一個持久的設備ID,但顯然你不能做到這一點與iOS設備了。一旦我的應用程序被卸載,設備ID將隨着我的應用程序的重新安裝而改變。

我也可以解決它,如果Parse可以刪除安裝對象,當用戶從他們的手機上卸載應用程序,但似乎也不可能。

我想到的最後一件事是,如果有一種方法可以用用戶對象ID查詢安裝對象,並且爲所有返回的對象查詢每個設備的deviceToken。任何不再有效的deviceToken,必須是之前應用程序安裝中的Installation對象,然後我可以從Parse中刪除,解決我的問題。

我真的很想聽聽你的想法。

謝謝。

回答

相關問題