PhoneGapから真のネイティブiPhoneアプリに移行しており、PhoneGapで作成されたHTML5ローカルストレージに保存されているユーザーデータにアクセスする必要があります。ユーザーにシームレスな更新プロセスを作成できるように、そのデータをどのように入手するのですか?iOSのPhoneGapで作成されたHTML5ローカルストレージにアクセスするにはどうすればよいですか?
5
A
答えて
4
だけWebkitのローカルストレージデータベースに直接アクセスし、必要な値を抽出するためにiPhone SDKに含まれているsqlite3ライブラリをインポートしました。これは、PhoneGapで作成したローカルストレージにアクセスする方法です。
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];
}
3
現在ローカルストレージにアクセスするためのネイティブAPIはありませんが、ローカルストレージをJSONなどにダンプするJavaScriptを使用してウェブビューを作成しようとする可能性があります。
webViewDidFinishLoad:
メソッドを実装し、ダンプをトリガーするstringByEvaluatingJavaScriptFromString:
メソッドを使用していますUIWebViewDelegate
デリゲートを持っているUIWebView
を作成します。このような
何か、最初のページには、Webビューにロードします。
<html>
<head>
<script>
// download and insert JSON-js here
// https://github.com/douglascrockford/JSON-js
function dumpLocalStorageToJSON() {
d = {};
for(i = 0; i < localStorage.length; i++)
d[localStorage.key(i)] = localStorage.getItem(localStorage.key(i));
return JSON.stringify(d);
}
</script>
</head>
</html>
[完了負荷デリゲートメソッド:私はマティアス道が、私は試していない
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *localStorageAsJSON = [webView stringByEvaluatingJavaScriptFromString:@"dumpLocalStorageToJSON();"];
// parse JSON and do something useful
}
関連する問題
- 1. JQueryでserializeArrayで作成された値にアクセスするにはどうすればよいですか?
- 2. Interface Builderで作成されたNSTableViewにプログラムでアクセスするにはどうすればよいですか?
- 3. global.asax.csで作成されたプロパティにアクセスするにはどうすればよいですか?
- 4. python manage.py testserverで作成されたデータベースにアクセスするにはどうすればよいですか?
- 5. 動的に作成された 'el'でバックボーンビューを作成するにはどうすればよいですか?
- 6. html5ローカルストレージにhtml、javascript、およびcssファイルを保存するにはどうすればいいですか?
- 7. iOSのカスタムキーボード:UITextFieldにアクセスするにはどうすればよいですか?
- 8. iOSのコンパスにアクセスするにはどうすればよいですか?
- 9. WiFiManagerフレームワークのiOSにアクセスするにはどうすればよいですか?
- 10. html5で「アーカイブページ」または「カテゴリインデックス」を作成するにはどうすればよいですか?
- 11. 計算されたフィルタリングされたプロパティを作成するにはどうすればよいですか?
- 12. ウェブサービスアプリの作成にはどうすればよいですか?
- 13. iOSデバイスでプログラムで作成されたカレンダーにアクセスする
- 14. さまざまなバージョンのiOS用にアプリアイコンを作成するにはどうすればよいですか?
- 15. iOSカレンダーアプリのようにグリッドを作成するにはどうすればよいですか?
- 16. iOS用のFacebookブックに類似したサイドバーを作成するにはどうすればよいですか?
- 17. 生成された地形図のカラーマップを作成するにはどうすればよいですか?
- 18. RailsアプリケーションからHTML5ローカルストレージにアクセスする
- 19. オーディオからHTML5でオーディオプレーヤーを作成するにはどうすればよいですか?
- 20. スクラッチで作成されたリストからアイテムを選択するにはどうすればよいですか?
- 21. iOS:ペンで作成したUIViewを再利用するにはどうすればよいですか?
- 22. Javaサーブレットでasp.netで作成されたCookieを取得するにはどうすればよいですか?
- 23. このプロパティを最初にアクセスしたときにのみ作成されるようにするにはどうすればよいですか?
- 24. HTML5キャンバス描画アプリケーションで円形の「ブラシチップ」を作成するにはどうすればよいですか?
- 25. rails 3.1でスコープ/ネストされたリソースのnamed_route_pathを作成するにはどうすればよいですか?
- 26. Android AppのHTML5/jQueryにカスタムオプションメニューを作成するにはどうすればよいですか?
- 27. PhoneGapベースのwebOSアプリケーションのJavaScriptサービスを作成するにはどうすればよいですか?
- 28. html5タグの新しい属性を作成するにはどうすればよいですか?
- 29. Perlのネストされたハッシュで特定のキーにアクセスするにはどうすればよいですか?
- 30. PhonegapからAndroid通知を作成するにはどうすればよいですか?
ニース。これがAppleによってどこかで文書化されているかどうか知っていますか? –
iExplorerでPhoneGapアプリを開き、myApp/WebKit/LocalStorage/file__0.localstorageにsqliteファイルを見つけるパスを取得しました。ファイル名を含めるように答えを更新します。 –
5.1では、localStorageの場所がLibrary/Cachesに変更されています。 @KerriShottsありがとう。 –