タグ

WKWebViewに関するnagolingのブックマーク (7)

  • [iOS][Swift]JavaScriptと相互通信 - Qiita

    WebViewでJavascriptSwiftの双方向通信を行う方法です。 JavascriptからSwiftのメソッドを実行する 基的な使い方 UIWebViewではなく、WKWebViewを使用します。 WKUserContentControllerでJavaScriptで実行するコールバックを登録します。 実行されたコールバックはWKScriptMessageHandlerのuserContentControllerで受け取れます。 Javascript側で呼び出したコールバックはmessage.nameで取得できます。 class ViewController: UIViewController, WKScriptMessageHandler { override func viewDidLoad() { super.viewDidLoad() let webConfig: W

    [iOS][Swift]JavaScriptと相互通信 - Qiita
  • 【Swift】Storyboardを使わずシンプルなタブブラウザを作る① - Qiita

    はじめに いままではObjective-CでiOSアプリを作っていましたが 最近Swiftの勉強を始めました。 ポチポチWeb上のサンプルコードを叩いていましたが 何か目的を決めないと捗らないな・・・ということで WKWebViewを使ってタブブラウザを作ってみようと思います。 今回はStoryboardは使わずコードのみで作ります。 実装する機能はシンプルに ・トップページにGoogleを表示 ・タブ切り替え ・ブックマーク機能 ・履歴閲覧機能 あたりで、3~4回くらいに分けて進めていきます。 アプリのイメージ こんな感じ(笑) 作業の流れ ↓の感じで進めます 1.WKWebViewでGoogleを表示 2.検索バーの機能実装 3.タブの一覧画面実装(タブの追加・削除) 4.ブックマークの一覧画面実装(追加・編集・削除) 5.履歴の表示機能実装(削除) 6.微調整 ブックマーク・履歴はS

    【Swift】Storyboardを使わずシンプルなタブブラウザを作る① - Qiita
  • WKWebviewで簡単なwebViewを作成する - Qiita

    WKWebviewとは UIWebviewよりも処理が高速かつ、JSのレンダリング周りの処理が安定している。 iOS8以降から使用可能。 googleChromeのiOSアプリもWKWebviewを使用している Appleの公式ドキュメントにも For new development, employ this class instead of the older UIWebView class. とあるので、デフォでこのClassを使う。 1. 宣言 WKWebViewのインスタンスを作成します。 WKWebViewのデリゲートを指定 ※ WKNavigationDelegateのプロトコルをClassに指定することを忘れないように class WebViewController: UIViewController, WKNavigationDelegate { ・ ・ webview =

    WKWebviewで簡単なwebViewを作成する - Qiita
  • WKWebViewのキャッシュなどをクリアする - しめ鯖日記

    個人で出しているブラウザアプリの容量がかなりの大きさになっていたので調査しました。 キャッシュ等の削除方法は下の通りです。 これでアプリ容量が500MB → 60MBまで減りました。 WKWebsiteDataStore.default().removeData(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes(), modifiedSince: Date(timeIntervalSince1970: 0), completionHandler: {}) 「キャッシュ・cookieだけ」のように削除対象を絞りたい場合は第一引数に削除したい対象をセットします。 WKWebsiteDataStore.default().removeData(ofTypes: [WKWebsiteDataTypeDiskCache], modifiedSince:

    WKWebViewのキャッシュなどをクリアする - しめ鯖日記
  • WKWebViewで躓いた10つのまとめ - Qiita

    WKWebViewについてわかったこと。iOS 8.1.0の時点での情報です。 StackOverflowやDeveloperForumsからの情報と、私がOhajiki Web Browserを開発する過程で得た知識を短めにまとめてみました。 これ以外にもまだまだ細かい部分があるかと思いますが、より良い方法や補足などがありましたらコメント欄で是非とも教えていただければ幸いです。 iOS 9での変更点はこちら: iOS 9 WKWebView 主な変更点をざっくり tmpフォルダ以外は file:/// を使ってアクセスできない iOS8.0.2からtmpディレクトリ以下のファイルに fileプロトコルでアクセスすることが可能になりましたが、それ以外のディレクトリからのアクセスは無効となっています。WKWebViewが普及しない一番の要因はこれではないでしょうか。 こちらで試すことが出来ま

    WKWebViewで躓いた10つのまとめ - Qiita
  • WKWebViewのログイン保持 - タマネギプログラマーの雑記

    iOSでWebページを表示するために使用するWKWebView 今回、WKWebViewでのログイン保持でハマったためワークアラウンドを書いておく 今回想定するアプリ 一度webviewに行った後、webview内でログインを行う。 その後もう一度viewに戻り、再度webviewを開く。 この時、ログインが保持されていないという現象にあった。 どうしてこうなる どうもセッションcookieをWKWebViewがストアしておかないことによるものらしい。 nsmutableurlrequest - Losing cookies in WKWebView - Stack Overflow iOS WKWebView Tips | Professional Programmer 必要なcookieを調べて、WKWebViewから抜いて直接NSHTTPCookieStorageに突っ込めたりしない

    WKWebViewのログイン保持 - タマネギプログラマーの雑記
  • ログイン認証したあとに、WKWebViewでCookieを使ってセッションを保つ方法と失敗例 - Qiita

    はじめに ログイン認証が必要なWebViewアプリをWKWebViewを使って作る機会がありました。その際にCookie周りで困ることがあったので、共有のために記事を投稿します。 実現したい仕様 ネイティブで作ったログイン画面に認証情報をいれてログインすると、WebページのTOP画面に遷移 TOP画面以降は認証状態を保ったまま、WebView内で様々な画面に遷移 アプリ側は技術的にはこんな感じでいける?? アプリ起動時に、ネイティブで作ったログイン画面を表示 認証情報をリクエストパラメーターとしてログインAPIを叩く ログインAPIでtokenをアプリ内部に保持(tokenは例えばPHPなら、PHPSESSIDに該当) WebViewを扱うViewControllerに遷移して、WKWebViewをinitしてaddSubView init時に、WKWebViewにtokenをCookie

    ログイン認証したあとに、WKWebViewでCookieを使ってセッションを保つ方法と失敗例 - Qiita
  • 1