{"id":3377,"date":"2019-03-23T17:23:39","date_gmt":"2019-03-23T08:23:39","guid":{"rendered":"https:\/\/nantoka.filmm.info\/blog\/?p=3377"},"modified":"2019-03-25T12:37:58","modified_gmt":"2019-03-25T03:37:58","slug":"swift2","status":"publish","type":"post","link":"https:\/\/nantoka.filmm.info\/blog\/?p=3377","title":{"rendered":"Swift2"},"content":{"rendered":"<p>HTML\u306e\u3042\u308c\u3092\u3068\u3063\u3066\u304f\u308b<\/p>\n<p><a href=\"https:\/\/qiita.com\/_tid_\/items\/8705275813e740d693ef\">https:\/\/qiita.com\/_tid_\/items\/8705275813e740d693ef<\/a><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">webView.evaluateJavaScript(\"document.documentElement.innerHTML\") { value, error in\r\n    print(value as? String as Any)\r\n}\r\n<\/pre>\n<p>\u3053\u308c\u306fHTML\u5168\u6587\u306b\u306a\u308b\u306e\u3067<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">webView.evaluateJavaScript(\"document.getElementById('tes').innerHTML\") { value, error in\r\n    print(value as? String as Any)\r\n}\r\n<\/pre>\n<p>\u3067\uff0cHTML\u5185\u306b<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">&lt;p id=\"tes\"&gt;2019&lt;\/p&gt;<\/pre>\n<p>\u3044\u308c\u3066\u304a\u304f\u3068\uff0c<\/p>\n<p>optinal(&#8220;2019&#8221;)\u3068\u8868\u793a\u3055\u308c\u308b\uff0e<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>ID\u3092WKWebkit\u304b\u3089\u3068\u308c\u306a\u304b\u3063\u305f\u306e\u3067\uff0ccookie\u304b\u3089\u53d6\u308b<\/p>\n<p>\u307e\u305aPHP\u3067cookie\u306buserid\u3092\u8a2d\u5b9a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">\/\/cookie\u8a2d\u5b9a\uff08Swift\u7528\uff09\r\n$userid = $_SESSION[\"id\"];\r\nsetcookie('userid', $userid,time()+60*60*24*7);\r\necho $_COOKIE[\u2018userid\u2019];\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Swift\u3067cookie\u3092\u53d6\u5f97\u30fb\u305f\u3060\u3057\u3053\u308c\u306fiOS11\u7528<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">        \/\/\u30bb\u30c3\u30b7\u30e7\u30f3\u53d6\u5f97\r\n        let cookieStore = webView.configuration.websiteDataStore.httpCookieStore\r\n\r\n\/\/        webView.configuration.websiteDataStore.httpCookieStore.getAllCookies {\r\n\/\/            print($0)\/\/\u5168\u90e8\u53d6\u308b\r\n\/\/        }\r\n\r\n                cookieStore.getAllCookies() { (cookies) in\r\n            for cookie in cookies {\r\n                if cookie.domain == \"hoge.com\" &amp;&amp;\r\n                    cookie.name == \"userid\" {\r\n                    \/\/ UserDefaults\u306b\u4fdd\u5b58\r\n                    let cookieData = NSKeyedArchiver.archivedData(withRootObject: cookie)\r\n                    UserDefaults.standard.set(cookieData, forKey: \"Cookie\")\r\n                    UserDefaults.standard.synchronize()\r\n                    print(cookie.value)\/\/\u3053\u308c\u3067userid\u3060\u3051\u3068\u308c\u308b\r\n                }\r\n            }\r\n        }\r\n        \/\/<\/pre>\n<p>XCODE\u306e\u30b3\u30f3\u30bd\u30fc\u30eb\u306b\u8868\u793a\u3055\u308c\u308b<\/p>\n<p>\u53c2\u8003<\/p>\n<p><a href=\"https:\/\/qiita.com\/haru15komekome\/items\/fdbdea6d755545468ac8\">https:\/\/qiita.com\/haru15komekome\/items\/fdbdea6d755545468ac8<\/a><\/p>\n<hr \/>\n<p>\u7279\u5b9a\u306eURL\u3067\u5b9f\u884c\u3055\u305b\u305f\u3044\uff08\u9014\u4e2d\uff09<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"EnlighterJSRAW \" data-enlighter-language=\"raw\">extension ViewController: WKNavigationDelegate {\/\/\u306e\u4e2d\u306b\u66f8\u304f\r\n\r\n\/\/ \u8aad\u307f\u8fbc\u307f\u958b\u59cb\u5f8c\u306b\u5b9f\u884c\r\n func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {\r\n     \/\/URL\u30c1\u30a7\u30c3\u30af\r\n     \/\/0.5\u79d2\u5f8c\u306b\u5b9f\u884c\u3059\u308b\r\n     DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {\r\n         \/\/ 0.5\u79d2\u5f8c\u306b\u5b9f\u884c\u3057\u305f\u3044\u51e6\u7406\r\n         \r\n     }\r\n }<\/pre>\n<p>\u53c2\u8003<br \/>\n<a href=\"https:\/\/swift.tecc0.com\/?p=669\">https:\/\/swift.tecc0.com\/?p=669<\/a><\/p>\n<p><a href=\"https:\/\/qiita.com\/s_emoto\/items\/dc3d61626155f5cf83e7\">https:\/\/qiita.com\/s_emoto\/items\/dc3d61626155f5cf83e7<\/a><\/p>\n<p>\u3053\u308c\u306e\u307e\u3068\u3081<\/p>\n<p>extension ViewController: WKNavigationDelegate {<\/p>\n<p>\u306e\u4e2d\u306b\u304b\u304d\u307e\u3059<\/p>\n<pre class=\"EnlighterJSRAW \" data-enlighter-language=\"raw\">\/\/ \u8aad\u307f\u8fbc\u307f\u958b\u59cb\u5f8c\u306b\u5b9f\u884c\r\n   func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {\r\n       \/\/URL\u30c1\u30a7\u30c3\u30af\r\n       let currentUrl:URL? = webView.url\r\n       let url = currentUrl?.absoluteString\r\n       \r\n       \/\/ \u7279\u5b9a\u306eURL\u3067\u5206\u5c90\u51e6\u7406\r\n       if url!.contains(\"https:\/\/hoge.com\") { \/\/\u52d5\u7684URL\u306a\u306e\u3067contain\u4f7f\u7528url!&lt;-\u306f\r\n           \r\n           \/\/print(\"URL\u304c\u542b\u307e\u308c\u308b\")\r\n           \/\/ 0.5\u79d2\u5f8c\u306b\u5b9f\u884c\u3057\u305f\u3044\u51e6\u7406\r\n           DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {\r\n               \r\n               \/\/\u30bb\u30c3\u30b7\u30e7\u30f3\u53d6\u5f97\r\n               let cookieStore = webView.configuration.websiteDataStore.httpCookieStore\r\n               \/\/        webView.configuration.websiteDataStore.httpCookieStore.getAllCookies {\r\n               \/\/            print($0)\r\n               \/\/        }\r\n               cookieStore.getAllCookies() { (cookies) in\r\n                   for cookie in cookies {\r\n                       if cookie.domain == \"life-log.org\" &amp;&amp;\r\n                           cookie.name == \"userid\" {\r\n                           \/\/ UserDefaults\u306b\u4fdd\u5b58\r\n                           let cookieData = NSKeyedArchiver.archivedData(withRootObject: cookie)\r\n                           UserDefaults.standard.set(cookieData, forKey: \"Cookie\")\r\n                           UserDefaults.standard.synchronize()\r\n                           print(cookie.value)\/\/cookie\u306euserid\u3092session\u306b\u8868\u793a\r\n                       }\r\n                   }\r\n               }\r\n               \/\/\/\/\u30bb\u30c3\u30b7\u30e7\u30f3\u3053\u3053\u307e\u3067\r\n               \r\n           }\r\n       }\r\n       \r\n   }<\/pre>\n<p>&nbsp;<\/p>\n<p>contains\u306e\u53c2\u8003<\/p>\n<p><a href=\"https:\/\/qiita.com\/osamu1203\/items\/3ee63291c37d91428b55\">https:\/\/qiita.com\/osamu1203\/items\/3ee63291c37d91428b55<\/a><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>HTML\u306e\u3042\u308c\u3092\u3068\u3063\u3066\u304f\u308b https:\/\/qiita.com\/_tid_\/items\/8705275813e740d693ef webView.evaluateJavaScript(&#8220;document.document &hellip; <a href=\"https:\/\/nantoka.filmm.info\/blog\/?p=3377\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">Swift2<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,11,56],"tags":[],"class_list":["post-3377","post","type-post","status-publish","format-standard","hentry","category-html5","category-javascript","category-swift"],"_links":{"self":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3377"}],"version-history":[{"count":13,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3377\/revisions"}],"predecessor-version":[{"id":3390,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3377\/revisions\/3390"}],"wp:attachment":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}