卸载ReactNative App - 清理用户数据

时间:2016-04-24 08:37:03

标签: react-native

我希望在卸载时清除在Mobile中保存的用户AuthData。使用AsyncStorage保存AuthData。 我有什么机制可以在ReactNative中检测到App Uninstall

2 个答案:

答案 0 :(得分:1)

似乎不可能,特别是如果您的应用在卸载时没有运行。但是,似乎有几种方法可以采取,但两种方法都不完美。

  1. 如果您的应用正在投放,则可以收听UIApplicationWillTerminateNotification(请参阅Detect iOS application about to delete?
  2. 使用推送通知反馈服务(请参阅Delegate Method when Deleting App

答案 1 :(得分:0)

对我来说,这个解决方案(代码)是https://stackoverflow.com/a/40732677/3151214

变量userDefaults (NSUserDefaults)可以通过Settings in React Native访问,因此javascript的实现可以像这样:

import { Platform, Settings } from 'react-native';

function getAuthData() {
    let isStoreNeedCleaning = false;

    if (Platform.OS === 'ios') {
        if (!Settings.get('hasRunBefore')) {
            Settings.set({ hasRunBefore: true });
            isStoreNeedCleaning = true;
        }
    }

    if (isStoreNeedCleaning) {
        // Clean up your store
    } else {
        // Load auth data from store
    }
}