2016-07-19 43 views

回答

0

Read the docs

的iOS,AsyncStorage由在單獨的文件中的串行化字典和較大的值存儲小的值 本地代碼的支持。在 的Android,AsyncStorage將使用兩種RocksDB或SQLite的依據是什麼 可用。

+1

這將有助於找出確切的文件存儲。我想我們都已經閱讀了文檔。在我的模擬器上,這些文件似乎位於'/ data/data/com.my.app /'下 – hcvst

0

iOS上看起來它放入

static NSString *const RCTStorageDirectory = @"RCTAsyncLocalStorage_V1"; 
static NSString *const RCTManifestFileName = @"manifest.json"; 

static NSString *RCTGetStorageDirectory() 
{ 
    static NSString *storageDirectory = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
    storageDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject; 
    storageDirectory = [storageDirectory stringByAppendingPathComponent:RCTStorageDirectory]; 
    }); 
    return storageDirectory; 
} 
0

答案是在反應的本地代碼,由以前的答案的建議。移動設備上的實際位置將由NSDocumentDirectory確定。由於Apple在沙盒環境中運行您的應用程序,因此您只能訪問應用程序包中的目錄。看到這個SO問題/答案關於這個主題的更多細節:What is the documents directory (NSDocumentDirectory)?

TL; DR:你可以把任何文件在此目錄中,但也有一些情況下,這可以被刪除,當用戶刪除您的應用程序,並重新安裝,或者在操作系統升級等。目錄本身就是捆綁中的〜/ Documents,顯然儘管我不確定爲什麼這很重要。

中的相關代碼反應母語:

static NSString *RCTGetStorageDirectory() 
{ 
    static NSString *storageDirectory = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
#if TARGET_OS_TV 
    storageDirectory = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject; 
#else 
    storageDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject; 
#endif 
    storageDirectory = [storageDirectory stringByAppendingPathComponent:RCTStorageDirectory]; 
    }); 
    return storageDirectory; 
} 
相關問題