私はこの状況が好きです...私の論理をチェックしてください。
あなたが持っている最初の重要なことは、アプリがアンインストールされると、そのデータベースも消えるということです. これがコツです。
==>1 から始まる参照番号を維持する必要があります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//get value from database,increment by 1
//sync with server
}
アプリが起動するたびに、参照番号もインクリメントする必要があります。サーバー側でもこの参照番号を追跡する必要があります。
2 番目のシナリオ (つまり、直面している問題) は、アプリが再インストールされたときです。すべてのデータベースが自動的に消去されます。==>これがトリックです
次回データベースから参照番号を使用すると、1になります。
サーバー側と比較してみましょう。
アプリが再インストールされた後の 2 番目のシナリオの後、参照番号は現在維持されているものよりも少なくなります ( 1 < 現在維持されている参照番号 @server )。これは、アプリが再インストールされ、認証まで待機する必要があることをサーバーに知らせるための条件です。
そのため、ユーザーがログインするまで現在のデバイスの通知をサーバーに許可しないようにします。ログインが成功した後、すべてのデータベースを更新し、サーバーが通知を送信できるようにします。