-
-
Save ka2n/9e630557f9c45a7f2aef to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
はじめまして、手抜きですみません | |
PhoneGapとかでiOSアプリのネイティブ部分と連携する仕組み | |
--- | |
自己紹介 | |
Katsuma Ito (ka2n) | |
ddid co., ltd. | |
--- | |
iOSアプリでWebページを埋め込むためのクラス -> UIWebView | |
// 例 | |
UIWebView *webView = [UIWebView alloc] init]; | |
[webView loadRequest:request]; | |
// Native to WebView | |
// JavaScriptを実行でき、評価の結果が文字列として取得可能 | |
NSString *result; | |
result = [webView stringByEvaluatingJavaScriptFromString:@"foo();"]; | |
// WebView to Native | |
// WebView内部でのページ遷移, XHR, iframeの読み込みをキャッチしできる | |
(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType | |
--- | |
// WebViewから情報を伝えるには | |
予め決めたフォーマットのURLへのリクエストを発生させる | |
"api://host/path/to/anywhere?get=value" | |
--- | |
// リクエストを発生させるには | |
1) location.href = url | |
2) iframeのエレメントを作って、iframe.src = url | |
3) XHRでリクエスト | |
// データをやり取りするには | |
1) クエリストリングに入れて分解 | |
2) WebView内部からJavaScript経由でJSONとして取得 | |
--- | |
// 参考 | |
https://git-wip-us.apache.org/repos/asf?p=cordova-js.git;a=blob_plain;f=lib/ios/exec.js |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://bitbucket.org/ka2n/msgpack_test
実際に動かしたプロジェクトはここです。
jadeとcoffeeとXCodeがあれば動かせると思います。