如何在iOS上访问PhoneGap创建的HTML5本地存储?

Ste*_*ser 5 local-storage ios cordova

我们正在从PhoneGap过渡到真正的原生iPhone应用程序,我们需要访问存储在PhoneGap创建的HTML5本地存储中的用户数据.我们如何获取这些数据,以便我们可以为用户创建无缝更新流程?

Ste*_*ser 5

我没有尝试过Mattias的方式,但我直接访问了webkit本地存储数据库,然后导入了iPhone SDK附带的sqlite3 lib来提取我需要的值.这是您访问PhoneGap创建的localstorage的方法:

NSString *databaseName = @"file__0.localstorage"; 

//Get Library path 
NSArray *libraryPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, 
                                                            NSUserDomainMask, YES); 
NSString *libraryDir = [libraryPaths objectAtIndex:0];

NSString *databasePath = [libraryDir 
                             stringByAppendingPathComponent:@"WebKit/LocalStorage/"]; 

NSString *databaseFile = [databasePath 
                             stringByAppendingPathComponent:databaseName]; 

BOOL webkitDb; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 

webkitDb = [fileManager fileExistsAtPath:databaseFile]; 

if (webkitDb) {
    MMWebKitLocalStorageController* wkc = [[MMWebKitLocalStorageController alloc] init];
    [wkc updateUserFromLocalStorage:databaseFile];
}
Run Code Online (Sandbox Code Playgroud)