Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

Android及びWebViewの初歩

1. AndroidのWebViewはLayoutで置く。
2. loadURLでURLの読み込み
3. AndroidManifestに の記述がいる。
4. AssetフォルダはNewのFolderから作れる。
5. Assetフォルダにはファイルをペーストで中に入れられる。
6. ローカルファイルの読み込みはwebView.loadUrl("file:///android_asset/hello.html")
7.javascriptを使えるようにする。 webView.settings.javaScriptEnabled(true)
8 urlの読み込み時を検知したい。

        webView.webViewClient = object : WebViewClient() {
            override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
                return super.shouldOverrideUrlLoading(view, request)
            }
            }
        }

9. webViewでjavascriptを実行するには

        val script = String.format("javascript:message('%s');", "Success!")
        webView.loadUrl(script)    }

初歩的な事項

iOSWorksのWebAppTestにサンプルコードを作った。

初歩

0. import WebKitがいる。
1. 古いOSに対応させる場合、WKWebViewは直接生成する必要がある。
2. WKNavigationDelegateのnavigationActionのrequestでwebView側でURLが変更された際の情報が入ってくる。decisionHandlerで許可判断する。iOS側からは webView.load
3. URLはURLComponentsでURLを分解するとクエリなどが簡単に取得できる。
4. evaluateJavaScriptでjavascriptを実行できるので定義しておいた関数等を呼べる。
5. html等のファイルはBundle.main.path(forResource:でpathが取得できる。

html系

1. document.location = url でそのURLに切り替えられる。
2. encodeURIComponentでURLエンコーディングできる。
3.jqueryでidを$("#hoge")で取得.text等を変更などできる。

現在インストールできません

adhocで現在インストールできませんとでる。
プロビジョニング等を調べたが正常、クリーンもだめだった。
バイスのログを辿ったところ、symblinkでエラーになっており、
ipaファイルの中身を調べたところコードシグネチャーのファイル内に
PCのXCodeのderivedDataを指しているところをみつけた。DerivedDataの削除をして再アーカイブしたところ無事に通った。