2017-08-26 10 views
0

こんにちは私はWKWebViewにラップして、Google PlayとApp Storeを通じて配布するWebアプリを持っています。Angular4(WKWebView)からSwiftに情報を渡す

私が欲しいのと同じようにこれを実現するには、AngularとSwiftの間にいくつかのテキスト文字列を渡す必要があります。

Angular - > Swiftからの情報の受け渡しが今解決するために私にとって最も重要なステップですが、私は数日かけて可能な解決策を探しましたが、Angular 。

コード構文に関しては幾分古くなっているようですが、JavaScriptの情報をSwiftに渡し、TypeScript/Angular4をSwiftに渡すことはほとんどの記事でカバーされています。

これは、ユーザーが自分の電子メールアドレスをWKWebViewのサインインフォームに入力すると、Swiftでその電子メールを取得して、どのユーザーがいるのかを調べる必要があるその電子メールアドレスを(プッシュメッセージを提供するために)ログインしているデバイスのFirebase登録トークンにマッピングすることができます。

誰にでも解決策がありますか?たとえば、Webアプリケーションで次のフォームに入力されたテキストを取得するにはどうすればよいですか。

<input class="form-control ng-dirty ng-valid ng-touched" formcontrolname="email" id="email" type="email"> 

編集:私は角/活字体でそれを実装しようとすると、「window.webkit.messageHandler」機能は、コンパイル時にエラーを提供し、この質問が重複するとは考えていません。デベロッパーがメールを送ってくると、サンプルコードとコンパイルエラー出力を提供します。

+0

typescriptはjavascriptにコンパイルされ、実行時にjavascriptを使用します。 javascriptのソリューションは、あなたが探しているものでなければなりません。 – toskv

+0

Angularアプリの開発者からは難しいと聞かれましたが、私は彼に "window.webkit.messageHandler"関数を試してみるように提案しました。私は再び彼に尋ねなければなりません。 – lundzern

+0

[WavWebView内でJavascriptからSwiftにデータを渡すにはどうすればいいですか?](https://stackoverflow.com/questions/35574539/how-to-pass-data-from-javascript-to-swift-within-a -wkwebview) – toskv

答えて

0

私はWKWebViewローカルストレージからデータを設定し、読み込むためのスクリプトを注入することでこれを解決しました。

これにより、Webアプリケーションによって設定されたトークンと文字列を取得することができます。また、ローカルストレージを介してWebアプリケーションに情報を渡すこともできます。

次の行は、 'device'という名前のキーをtokenFirebase変数の内容に設定します。また、Angular Webアプリケーションによって設定されたローカルストレージの 'token'と 'userId'

関連する問題