UIWebViewのJavascriptとSwiftの相互のやり取りについて調べてみた。WKWebViewを使えばスマートに出来そうだけど、ios7で使いたかったので、WKWebViewを使わない方向で実装してみました。 ライブラリ(というほど大層なものではないですが)にしたので参考までにどうぞ。 https://github.com/gomo/JsNoty PullToRefreshでAjaxを読み込みたい場合などに活躍すると思います。 SwiftからJavascriptへ これは単純にstringByEvaluatingJavaScriptFromStringでイベントをfireしてあげればいけますね。 let script = String(format: "document.dispatchEvent(new CustomEvent(\"%@\", {detail:%@}))",
Written by Mattt July 25th, 2018 (revised) This article has been translated into: 한국어 iOS has a complicated relationship with the web. And it goes back to the very inception of the platform over a decade ago. Although the design of the first iPhone seems like a foregone conclusion today, the iconic touchscreen device we know and love today was just one option on the table at the time. Early protot
先週アップルが発表した iOs 8 のリリースに、私たちは非常に興奮しております。iOS 8 の正式リリースを手にして数日しか経っていませんが、いち早く世界中の Web 開発者コミュニティに最新のアップルのリリースについて徹底的にお伝えしたいと思っています。もちろん数週間、数ヶ月後にはここではカバーできなかった項目が発覚するのは承知ですが、既に分かっていることを少しでも共有できたらと思っています。 この記事は、今後iOS 8 がアップルのデバイスのベースラインとなることを見越して、HTML5 の現状を技術解析したものです。去年 iOS 7 にも似たようなレビュー記事を Web 開発者のために書きましたので、気になるかたはそちらもご覧ください。 iOS 8 の新機能は HTML5 開発を進めます 今回のアップグレードで加えられた機能について見ていきましょう。 Source: caniuse.
WKWebView is UIWebView equivalent for iOS8. This is same as Safari Engine. Compare to UIWebView, WKWebView has a lot of features. Ref This is great article. nshipster Apple Developer, please check API reference. Apple Developer Compare to UIWebView Similar API but a bit different. We can handle web loading behavior using WKNavigationDelegate We can get URL and title using property.(In UIWebView, w
Note that the code and some of the concepts in this post are outdated In this article I'll be briefly covering using WKWebView (new in iOS 8 and OS X 10.10) to communicate with content in a web-page using user scripts and script messages. This basically means injecting JavaScript into a web-page and receiving messages from the web-page whenever the web-page call back to your native application. Al
Chefでサーバー構築を全部自動化して、借りているさくらVPSに当ててみた。意地でも手作業はまったく入れない完全自動構築設定。これはよい。毎回手作業やらずに済むというのは、抜け漏れをなくすという点でも、構築時間を短縮するという面でも本当に楽。 前提 今回構築するサーバーの前提は次の通り。 CentOS 6.4環境で試行 vagrantを使って試験後、さくらVPSに対して適用 基本の設定として以下を実施 構築用のユーザーを作成 構築用ユーザーにsudo権限を付与 構築用ユーザーを秘密鍵認証でsshログイン許可 rootによるsshログインを禁止 パスワード認証によるログインを禁止 sshのポート番号を変更 ssh, http以外のアクセスをiptablesでシャットアウト nginxを導入 将来的にunicornを入れるための設定を準備 極力サードパーティクックブックは使わない(ブラックボッ
本連載は、SI業界に入ったばかりの新米業務アプリケーション開発者や、SI業界を目指す学生さんを対象とした、インフラ構成管理ツールを使ってコードでインフラを構築するための講座です。また、インフラエンジニア/システムオペレータで、物理環境でのインフラ構築/運用管理は経験があるけど、プログラミングが苦手という方にも読み進めていただけるように、文法などの解説を入れながら説明します。今回は、Chefというツールのご紹介と、Chefを使ってWebサーバを構築する方法について説明します。 はじめに 前回は、コードでインフラ構成を行う第一歩としてVagrantを使ってローカルPCに仮想環境を構築する手順をご紹介しました。 今回は、Chefというツールのご紹介と、Chefを使ってWebアプリケーションの開発環境にWebサーバであるApache httpdやPHPの実行環境などをインストールする方法について説
ある日何気なく最新版のvagrant-berkshelf(4.0.4)を入れたところ、 It appears that you are not using the ChefDK. Please note that Vagrant Berkshelf works best when used with the ChefDK, and other installation methods are not officially supported. Please download and install the latest version of the ChefDK from: https://downloads.getchef.com/chef-dk and follow the installation instructions. Do not forget to add the Chef
入門Chef Solo - Infrastructure as Code を参考に、Chefを使ってさくらVPSの環境構築を自動化した。 関連記事 ChefとVagrantによる開発環境の構築 Chefでrbenvを使ってRubyをインストールする 前提 サーバの環境構築をChefで自動化する場合、まずはVagrantなどで作成したローカルのVMを使って試行錯誤しながらレシピを開発し、レシピが完成したらサーバに対して実行する、という手順をふむ場合が多いと思う。Vagrantで立ち上げたVMに対してChefでプロビジョニングを行う手順についてはChefとVagrantによる開発環境の構築を参照のこと。 今回作成したCookbook 今回作成したCookbookはGithubに置いてあるので下記リンクを参照のこと。 chef-repo/site-cookbooks/server · tanim
Dash A self-enclosed environment for developing containerized applications.
By Hugh Gallagher オープンソースソフトウェアの開発・ダウンロードサイトとして老舗の「SourceForge」が、ソフトウェア開発者から三行半を突きつけられるという事態に陥っています。「老舗サイトは、どのようにして堕ちたのか?」をまとめるとこんな感じです。 Black “mirror”: SourceForge has now taken over Nmap audit tool project [Updated] | Ars Technica http://arstechnica.com/information-technology/2015/06/black-mirror-sourceforge-has-now-siezed-nmap-audit-tool-project/ SourceForge grabs GIMP for Windows’ account, wra
今年の6月にChef Soloは役割を終え、今後引退への道をたどると言うアナウンスがChefの公式ブログでありました。Chef Soloがなくなるということは、必ずChef Serverが必要になると言うことでしょうか?答えはなんとYesです。 しかし安心してください。そのためにChef Zeroが用意されています。一言で言うと、Chef Zeroはローカルで動かせるChef Serverです。 そしてChef Clientをローカルモードで動かすことでローカルのChef Zeroに接続するため、別のChef Serverは必要ありません。要するにChef Soloと同じような感覚でChefを使い続けることができます。 更にKnife-Zeroを使うとChef Solo同様にセットアップ先のマシンにChef Clientを簡単に入れることができます。そこで今回はこのKnife-Zeroを使
Chef Soloの正しい始め方 | tsuchikazu blogがどういうわけかgoogleさんに好かれているので、続編を書きました。入門Chef Soloと正しい始め方を読んで、じゃあ実際に色々やってみようかな。とはいえ、チュートリアル的なことでなく、もうちょっと実践的なことをして理解を深めたい。このような人を対象に、さくらVPSの初期設定を題材に、Chef Soloを説明していきます。 この記事でやることは以下のとおりです 一般ユーザの作成 鍵認証の設定 sudo有効化 sshの設定 iptablesの設定 さくらVPSでよく行われる初期設定で、これを実施すればrootが乗っ取られてヤバイことになった。とかそういう事態は防げるはずです。AWSのEC2ですと、デフォルトで設定される内容になっていますので、さくらVPSをEC2レベルまでセキュリティ向上させるのを目標にします。 前提 自
アニメの中の昆虫感そのままに、スピーディーに羽ばたいて大空を舞っていますね。これには海外からも大絶賛の声が寄せられています。何よりも、作品への愛を感じられる造形や飛び方が秀逸ですね。ちなみに乗っているのは「若き日のドーラ(空中海賊の首領のお婆ちゃん)」だそうです。
“人食いバクテリア”とも呼ばれ、手足のえ死を引き起こし死に至ることもある「劇症型溶血性レンサ球菌感染症」の患者数が、過去最多になっていることがわかった。国立感染症研究所は、手足の腫れなど感染が疑われる症状が出た場合には、すみやかに医療機関を受診するよう呼びかけている。8月18日、FNNニュースなどが報じた。 国立感染症研究所のデータによると、感染者数は2014年が273人だったのに対し、2015年は8月9日までで既に279人にのぼり、調査を始めた1999年以降、最多となった。都道府県別に見ると、東京都が44人で最多。大阪府(28人)、神奈川県(20人)、千葉県と兵庫県(それぞれ15人)などが続いた。
佐野研二郎氏がデザインしたサントリーのトートバック賞品が、実際は第三者のデザインを「トレースした」ものだった問題で、“尾木ママ”こと教育評論家の尾木直樹氏(68)が8月17日、自身のブログで佐野氏を痛烈に批判した。 尾木ママは、佐野氏が2020年東京オリンピックのエンブレム制作者という重責を背負っているにもかかわらず、他者のデザインを「トレース」したことを「日本の恥」と強い口調で責め、「ご本人自らエンブレムを取り下げるべき」と主張した。 さらに、18日にもブログを更新。「他人の作品をトレースするなんて盗用じゃないか」と自身の考えを述べ、「なぜデザインの『トレース=盗用』ではないの?! デザイン界のモラル教えて」と見出しをつけ、読者に意見を求めた。
Webサイトのデザインで大切なのは、小さなディテールの積み重ねです。一つひとつは些細なことかもしれませんが、それらをおろそかにしてしまうとWebサイト全体が台無しになってしまいます。 アマチュアのデザイナーが普通によくやってしまう間違いとその改善方法を紹介します。 Top 10 Mistakes that Make your Website Look Unprofessional 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様に許可を得て翻訳しています。 1. デザインされたテンプレートを使う時の注意点 2. Bootstrapのデフォルトのデザインを使ってませんか? 3. コンテンツを分かりやすくするフォントの使い方 4. 暗いカラーの背景はデザインが難しい 5. 似たようなボタンを数多く配置するのは逆効果 6. 空白スペースを効果的に使うシンプルなルール 7
JavaScript で GoogleFeedAPI を使用して、RSS を取得 JavaScript の Ajax 通信を行うと、サーバー側の同一ドメイン制約に引っかかり、 取得できません。GoogleFeedAPI を使用すると取得できるようになります。 Ajax 通信の同一ドメイン制約の話はまた今度に。 GoogleFeedAPIについて 公式ドキュメントはこちら。 https://developers.google.com/feed/v1/devguide?hl=ja 関数 google.setOnLoadCallback( コールバック関数 ) に、コールバック関数をセットして使用する。 Result Objectは、指定しないとデフォルトで JSON で返ってくるようです。 サーバーサイドが XML でも JSON に変換して、取ってくるようです。 JSONで返ってくる要素は以
先日、Redmine 用の Greasemokey スクリプトを公開したのですが、まぁ、久々に JavaScript を書いたこともあって、幾つかハマりました。これといった検索結果にもヒットしなかったので、自分用まとめとしてメモしておきます。 form エレメントの submit イベントをフックしたい フォームの送信前に、フォームの入力データをチェックするとします。普通なら、getElementById か何かで目的の form エレメントを取得して、onsubmit に任意の関数を設定すればOKな感じですよね。これが動きません。エレメントは取得できているのですが、onsubmit に設定した関数が呼ばれません。issue_form1 は、 [object XPCNativeWrapper [object HTMLFormElement]] とかいうオブジェクトになっていて、安全のために
メタデータ/RDFの応用として利用されているXMLフォーマットの代表として、RSS (RDF Site Summary) があげられます。共通の書式でドキュメントの見出し、要約などのリストを提供することで、サイトの更新情報などを効率的に公開できます。 RSS 1.0の要素と構文 channel要素 item要素 シンプルなRSSの全体 RSS 1.0全要素のツリー RDFとして見た場合のRSS RSSのRDFモデル RDFモデルの補足説明 RSSの拡張/応用とモジュール Dublin Coreモジュール Syndicationモジュール Contentモジュール そのほかのモジュール RSSとセキュリティ RSSの実際の利用 RSSの歴史〔補足〕 参照文献 ※RDFの体系的な解説『RDF/OWL入門』を上梓しました。 RSS 1.0の要素と構文 RSS (RDF Site Summary)
本ドキュメントは、Weblogs At Harvard Law (ハーバード大学法学大学院のウェブログ)で公開されている 『RSS 2.0 Specification』 を futomi が日本語化したものです。みなさまの理解に役立てれば幸いです。なお、緑色で記載された文章は、futomi が注釈として加筆したものです。また、一部、直訳ではなく、意訳した部分がございます。原文と表現が異なることがございますので、ご了承ください。 注意: この日本語訳は、futomi が理解を深めるために、自分なりに日本語化したものです。本日本語訳には、翻訳上の誤りがある可能性があります。したがって、内容について一切保証をするものではありません。正確さを求める場合には、必ず原文を参照してください。当方は、この文書によって利用者が被るいかなる損害の責任を負いません。 もし誤りなどを見つけたら、こちらからご連絡い
// // ViewController.swift // ednity // // Created by Yu1ch1 on 2014/06/27. // Copyright (c) 2014年 ednity. All rights reserved. // import UIKit class ViewController: UIViewController { @IBOutlet var webview : UIWebView = nil var targetURL = "http://www.ednity.com" override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. loadAddressU
Google AJAX APIを使って、ブログのRSSから取得した情報を、静的なHTMLに新着記事としてを表示させるということを何度かやりました。ですが、その度に過去の案件を見返すことが多いので、備忘録として記事にしておこうと思います。 今回は、記事の日付、タイトル、記事の画像、記事本文概要を書き出ししたいと思います:) 2016/1/11にGoogle AJAX APIが使えなくなったようです。 別の方法でRSSを取得する方法をまとめておりますので、よろしければ以下の記事もご参考になさってください:) ブログのRSSを読み込んで新着記事を表示!PHPを使ってみました 0.RSSとは1.使い方2.新しい記事が反映されない? 0.RSSとは RSSとは、主に、Webサイトやブログの更新情報を公開するために使われているXMLベースの文書です。 Webサイトの各ページのタイトルや、URL、更新日
RSS FeedをJavascriptでウェブページに表示 (ベータ版) 設定する 以下の設定に従って、表示させたい情報と表示方法を選択してください。 「プレビュー」ボタンを押すと、表示内容と表示方法を確認できます。 問題なく表示されたら、「コードを取得」ボタンを押してください。 そうすると、Javascriptのコードが表示されます。 あとはそれを表示させたい場所へコピペしてください。 レイアウトはCSSで行います。標準では、このCSS を使っています。 URL RSS FeedのURLを入力してください。 文字コード スクリプトを表示するページの文字コードを入力してください。(UTF-8, EUC-JP, Shift_JIS) 参考) このページは、Shift_JISで書かれています。 他の文字コードでプレビューを確認する場合はこちら。 UTF-8 / EUC-JP UTF-8 EUC
FacebookのAPIの制限 access_tokenごとに600秒間に600回 appごとに1日100万回のAPIコール TwitterのAPIの制限 ユーザごとの制限とアプリケーションごとの制限がある 15分ごとに更新、特定ワードの検索は15分ごとに180回ほど 以下で確認 https://dev.twitter.com/docs/rate-limiting/1.1/limits 参考 https://developers.facebook.com/docs/reference/ads-api/api-rate-limiting https://developers.facebook.com/policy/ http://www.quora.com/Whats-the-Facebook-Open-Graph-API-rate-limit http://stackoverflow.co
こんにちは、r7kamura です。 最近は主にイカとして活動しており、カラフルな墨を掛け合う日々を送っています。 さて、QiitaおよびQiita Teamでは、Qiita API v2としてデータを操作するためのREST APIを公開しています。これまで開発者向けに APIドキュメント を提供していましたが、今回は主に機械向けのインターフェースとして、JSON Schemaで記述したREST APIのスキーマ定義 (以下スキーマ) を公開することになりました。具体的には、JSON Hyper-Schema draft v4 を利用して定義されています。 http://qiita.com/api/v2/schema Qiita API v2のスキーマの説明Qiita API v2のスキーマの構成について簡単に説明します。スキーマは http://qiita.com/api/v2/sche
こんにちは! r7kamuraです。 これまでQiita API v1を公開して参りましたが、このたび、より一層機能を強化したQiita API v2を公開しました。 より多くのデータにアクセス可能にQiita API v2では、これまでご要望を沢山いただいていた多くのデータへのアクセスが可能になりました。特に、テンプレート、プロジェクト、共同編集、コメントなど、Qiita Teamのデータの操作にも対応しています。 OAuthQiita API v2では、OAuth 2.0を利用した認証認可が利用可能になりました。これにより、外部のアプリケーションにパスワードを預けることなく、ユーザに関連するデータへのアクセスを許可することができます。また、発行するアクセストークンごとに権限の範囲を変更できるため、より柔軟に権限を絞れるようになりました。 個人用アクセストークンOAuthで発行できるアク
UIWebView vs WKWebView 以前から、Webページを表示するにはUIWebViewが使用されてきました。ただ、iOS 8から導入されたWKWebViewというのがありまして、こちらのほうがJavaScriptの実行が速かったりするなど、色々と改善されているようです。 そういうことなら、すぐにWKWebViewに移行したいところですが、iOS 7では使用できません。iOS7以前では、UIWebViewを使用する必要があります。 また、UIWebViewとWKWebViewでは、delegateメソッドが微妙に異なるので、両対応をしようとすると両方のdelegateメソッドを書かなくてはならず、手間がかかります。 作ってみた というわけで、UIWebViewとWKWebViewを自動切り替えする仕組みを作ってみました。 ソースはこちら * TOTWebView.h * TOT
前回 前回の記事で WebKit Framework の概要を説明しました。また、簡易的な Web ブラウザーのサンプルプロジェクトも紹介しましたね。この記事からは、このサンプルプロジェクトを参考に WebKit Framework、特に WKWebView の使い方を解説します。 サンプルプロジェクトを起動してみる hirai-yuki/WebBrowserSample からサンプルプロジェクトをダウンロードして、Xcode 6 で開き、実行してみましょう(pod installを忘れずに!)。 すると、以下のように 弊社ホームページ が表示されるはずです。 このように、サンプルプロジェクトでは画面表示時に WKWebView で Web ページを表示するようにしています。 今回は「WKWebView で Web ページを表示する」ところを解説します。 それでは、ソースコードを見てみまし
About This documentation explains the specifications of Qiita API v2. Request Requires secure connections with TLS to access the all endpoints of our API, without exception. Use qiita.com host to access to the public Qiita data, otherwise use *.qiita.com to access to Qitia:Team data. Parameters Accepts GET, POST, PUT, PATCH, and DELETE HTTP methods. On GET request, include parameters as URI query
本記事はベータ版について書かれています。 一般に流通しているiOS製品(iPad / iPhone / iPod touch)には該当しません。 また、将来下記の内容がiOSに反映されるとは限りません。 SSL/TLS認証でWKNavigationDelegateが呼ばれるように iOS9からWKWebViewでSSL/TLS接続をする時に WKNavigationDelegate の - webView:didReceiveAuthenticationChallenge:completionHandler:が呼ばれるようになるようです。 ここで、SSL/TLS接続([[[challenge protectionSpace] authenticationMethod] isEqualToString:NSURLAuthenticationMethodServerTrust])のケースを正し
以前、UIWebViewを使ったアプリで、ユーザーが行うページ遷移操作を制御する方法について記事を書きました。 iOS8から、WebKit Frameworkが導入され、UIWebViewよりも細かな制御が出来るようになりました。 WebKit Frameworkでは、WKNavigationDelegateというプロトコルが導入され、リクエスト発行前と、レスポンス受信後にページ遷移するかどうかを決めることが出来るようになりました。 上の記事と同様のことは、当然WebKit Frameworkでも可能です。 WKWebViewのインスタンスにnavigationDelegateとというプロパティがあるので、 -(void)loadView { [super loadView]; self.webView = [[WKWebView alloc] initWithFrame:self.vie
新ブラウザエンジン「WKWebView」 iOS 8では、これまで用いられていたブラウザエンジンであるUIWebViewに加え、「WKWebView」という新しいエンジンが追加されました。WKWebViewはその実行速度、安定性、そして機能面でも、UIWebViewを大幅に向上しています。要するに、WKWebViewを用いるだけで、アプリの実行速度が大幅にアップするのです。 しかし、WKWebViewもUIWebViewも、ベースは同じWebKitエンジンです。また、PhoneGapやCordovaといったハイブリッドアプリ、iOS版Chromeなどのブラウザアプリには、例外なくUIWebViewが使われています。WKWebViewとUIWebViewがどう違うのでしょうか? 筆者はこの疑問について、iOS 7のUIWebView、iOS 8のUIWebViewとWKWebViewを比較対
2014年 6月 16日 配置が難しい要素に使うことがあるcssのposition:absolute。直近のposition:static以外をもつ先祖要素からの相対位置を指定して使われます。 画像などに透明なa要素をたくさん配置するとなるとtry&checkで何度もブラウザをチェックするのはアホらしいのでブックマークレットを作りました。 MapAbsolute 上のリンクをブックマークバーにドラッグ&ドロップ これを使いたいページを開いてこのブックマークレットをクリック 基準として指定したい親要素を選択 にゅっと出てきた半透明の赤いブロックをドラッグ&リサイズしてtop,left,width,heightを表示 新しいブロックが欲しくなったらコントローラーの+Add Newボタンをクリックして再度親要素を選択 コントローラーもドラッグ可能 httpsなサイトにも一応使えます。もし良ければ
【Xcode】【iOS】ライブラリ導入時のApple Mach-O Linker Error. library not found for -lcurl【謎のエラー?】XcodeiOSxcode4xcode5 Build Failed 開発業務を行っていると各種ライブラリを使用したりすることがあると思います。 その時にビルドエラーが起きる事があります。 もちろん原因はいくつも考えられます。 ・必要なフレームワークが足りない? ・ビルドセッティングがおかしい? などなど。 こういったものは公式サイトのドキュメントをしっかりと読んだり、 セッティングなどを見なおしたり、またウェブ検索を駆使し。 先人の知恵をお借りしたりすれば大抵解決出来る事でしょう。 しかし、 ・必要なフレームワークはちゃんと入れてる ・ビルドセッティングもおかしくは無い…はず だけどビルドエラー…。 なんてこともあります。
ライブラリ管理ツール「CocoaPods」とは 本連載「生産性ガチアゲなオープンソースiOSライブラリ」で紹介してきた通り、iOS向けのライブラリには、さまざまなものがあります。アプリを開発する際に、そのようなさまざまな外部ライブラリを使用して開発することになると、それらのライブラリの管理が大変になってくる場面もあると思います。今までは、GitHubなどから必要なライブラリをダウンロードして、プロジェクトに手作業で追加する必要がありました。 しかし、「CocoaPods」を使うことで、これら一連の作業を簡単な記述とコマンドだけで完了できます。 そこで今回は連載の最終回として、MacアプリやiOSアプリ開発者向けのObjective-Cライブラリ管理ツール「CocoaPods」を紹介します。 CocoaPodsのインストール まずは、CocoaPodsのインストールからです。CocoaPod
ページを読み込む前にwindow.webkitを別の変数に保存しておき、あとはその変数からmessageHandlersを使えばOKです。 こちらを参照: WKWebViewでJavaScriptを読み込み前後に仕込むサンプル 例 ------------------------- ページの読み込む前 JavaScriptを実行 MyWebkitNamespace = window.webkit; ------------------------- ページの読み込み... ------------------------- ページの読み込み後 JavaScriptを実行 MyWebkitNamespace.messageHandlers.myMessageTest.postMessage('ok'); ------------------------- Register as a new
WKWebViewについてわかったこと。iOS 8.1.0の時点での情報です。 StackOverflowやDeveloperForumsからの情報と、私がOhajiki Web Browserを開発する過程で得た知識を短めにまとめてみました。 これ以外にもまだまだ細かい部分があるかと思いますが、より良い方法や補足などがありましたらコメント欄で是非とも教えていただければ幸いです。 iOS 9での変更点はこちら: iOS 9 WKWebView 主な変更点をざっくり tmpフォルダ以外は file:/// を使ってアクセスできない iOS8.0.2からtmpディレクトリ以下のファイルに fileプロトコルでアクセスすることが可能になりましたが、それ以外のディレクトリからのアクセスは無効となっています。WKWebViewが普及しない一番の要因はこれではないでしょうか。 こちらで試すことが出来ま
import WebKit で WKWebView が使えるようになる 以降、WKWebView を Swift で使ってみた簡単なサンプルです。WKWebView を使うには、import WebKit する必要があります。 WebKitViewController.swift import UIKit import WebKit class WebKitViewController: UIViewController { var webView : WKWebView? override func viewDidLoad() { super.viewDidLoad() // set WKWebView self.webView = WKWebView() self.view = self.webView let urlString = "http://www.yahoo.co.jp/"
5. UIWebViewとWKWebView UIWebView WKWebView - (void)loadRequest:(NSURLRequest *)request; - (WKNavigation *)loadRequest:(NSURLRequest Copylight © Classmethod, Inc. 5 *)request; - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; - (WKNavigation *)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; - (void)reload; - (WKNavigation *)reload; - (void)stopLoading; - (void)stopLoad
こんにちは、フルセイルの有賀と申します。 ベーシックグループの中で、スマホアプリに関する事業を担当していまして、以前はこちらのブログ(Growing App)で記事を書いていたのですが、このたびferretに寄稿させていただくことになりました。よろしくお願いいたします。 さて、1回目はスマホアプリのリジェクトについてです。ご存知かもしれませんが、App Store(iOSデバイス)に関してはリリース前にアプリを申請し、審査に通過する必要があります。 ※今まで審査が不要だったGoogle Playにおいても今後は審査が入るようです。 そして、この審査がとても厄介な存在でもあります。 なぜかいうと、Appleが用意するガイドラインに沿ってアプリを作っているつもりでも微妙な解釈の違いやタイミングによってリジェクトされ、スムーズにいっても10日、長いと数ヶ月かかることもあるからです。 ちょうど先日
すべてのWebページをダークモードに変換目に優しいダークモードをWebコンテンツに適応!夜寝る前でもまぶしくない😎
WKWebViewは自分でWKUIDelegateを指定してコードを書かない限り以下のような画面は表示されず、JavaScriptからの要求を無視します。 左から、JavaScriptのalert,confirm,promptが実行された時の画面です。 以下WKUIDelegateのみを使うことを目的としたコードを記します。 iOS8であればXcodeで新規作成時にSingle View Applicationテンプレートを作成し、ViewController.mにコピペするだけで動きますのでお試しください。 // // ViewController.m // MyWKWebView // // Created by FukuyamaShingo on 9/22/14. // Copyright (c) 2014 Shingo Fukuyama. All rights reserved.
WKWebViewをinit時にJavaScriptを設置します。設置したJavaScriptはページ読み込みのたびに実行されます。 window.webkit.messageHandlers.yourKeyPath.postMessage("文字列/配列など"); 上記のJavaScriptを使うと、userContentController:didReceiveScriptMessage:が応答するので、yourKeyPath部分をもとに処理できます。 サンプルとして新規作成、"Single View Application"テンプレートからViewController.mに以下を貼り付けると試せます。 結果としてデバッグエリアにUserAgentが表示されるはずです。 #import "ViewController.h" #import <WebKit/WebKit.h> @inte
好きなものは空と緑とS2000とガンダムとラジコン・ミニ四駆、Perfume(かしゆか)。ときどき子育てとキャンプ。 5回リジェクトされ、6回目の正直でようやくリリースできました、匿名型位置共有アプリ「レーダーマップ」。 アプリのリジェクトの理由を振り返り、今後に活かしたいと思います。 【最初のreview依頼 2月24日】 まつこと1週間。 【リジェクト1回目 3月4日】 Rejected 2.1: Apps that crash will be rejected 2.16: Multitasking apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc. Inf
JAL,ANA,docomo,au,softbank,カメラ,写真,飛行機,トラベル,旅行,Adobe,Apple,macOS,iPhone,iPad,iOS,NETFLIX,disney,グルメ,健康,パソコン,ガジェット,スマホ,インターネット メトロファン MetroFun ※ iTunes App Storeのダウンロードページはこちら。 ※ アプリのサポートページはこちら。 ※ このアプリの紹介ビデオ(iPhone版)はこちら。 ※ このアプリの紹介ビデオ(iPad版)はこちら。 ※ こちらのアプリは無料で配布しています。 東京都内で最も便利な移動手段のひとつが地下鉄。なかでも、東京メトロは、都内の主要スポットを含む広範囲なエリアをカバーしているので、通勤や通学は勿論のこと、観光やアミューズメントなどでも利用する機会は多いのではないでしょうか。 本アプリは、東京メトロを便利に活用
さて、先日 Tokyo2.0 で発表した新アプリ、「TwitCasting Viewer(ツイットキャスティング・ビュワー)なのですが、本日 Apple より正式に「却下!リジェクト!」の連絡が来ました。 リジェクトの理由がシステムの根底に関わる問題のため、ビュワーの提供はまた少し先になります。申し訳ありません。 Apple 側から公開されている(NDAに抵触しない)範囲内でリジェクトの理由を書いておきますので、なにかの参考にしていただければ、と。 さて、ツイットキャスティング・ビューワーでは - PUSH によるライブ開始の通知 - 独自プロトコルによる 64kbps ~ 1Mbps 帯域での柔軟な環境での視聴 を可能にしています。 問題は、この「独自プロトコル」で、Apple 側は今年2月に - 10分を超える音声・動画、もしくは (NDA)分間で (NDA)バイトを超える音声・動画を
id:fladdictさんがリジェクト事例を共有しようとされているので、僕も自分のアプリがリジェクトされたときのことを書きます。 倍プッシュ! はてなで1万ポイントの質問をしてみた2 | fladdict 最低予算1万ポイントで。iPhoneアプリの審査でリジェクトを食ら… - 人力検索はてな ネットに接続できないときの通知が無い テレビ番組表で、圏外のときはその旨を通知しないと行けないということでリジェクトされました。 1.0.0〜1.2.0まで通っていて、突然そんなことを言われても・・・と思ったのですが、圏外のときはアラートを出すように変更しました。 使わないときは半透明で半分隠れているツールバー 初期のはてな touchで、WebViewを広く使いたかったので、ツールバーはなるべく目立たないようにしたいと思って、普段は隠れていて、使うときだけ出てくるようにしたのですがリジェクトされま
(2015.5.22時点) また両方のアプリに共通するリジェクト基準は以下の内容になります。 クラッシュやバグがある 未完成要素(画像やリンク)がある アダルトな要素が含まれている(配信広告含む) 暴力的・反社会的な要素が含まれている ストアに表示するアプリ説明の未熟 その他にもユーザー登録を伴うアプリの場合は、ユーザー側に利用規約を提示できるシステムが無いとリジェクト対象になります。 それでは実際にどのようなケースでリジェクトされているのか、過去に起きた事例を元に検証してみます。 iPhoneアプリリジェクト事例タイトルがテロ連想でリジェクト『リア充爆発しろ!』 iTunes / Google Play 2015年4月に再リリースされた『リア充絶滅しろ!』。元々は『リア充爆発しろ!』というタイトルでしたが、「爆発」というキーワードやアプリ内でカップルが爆発する描写がテロ行為を連想させる、
めっきり寒くなりました。熱燗が美味しい季節がようやくやってきましたね。 feedtailor Inc. で一番ののんだくれ、すみひろです。 Dailyshot v1.1.0 をリリースしました。 2014年11月5日にファーストバージョンをリリースしましたがいくつかの不具合を含んでおり、即座に修正を行った v1.0.1 の申請を行ったのですが結果としてリジェクトされリリースできずにいました。 結局は v1.0.1 でのリリースを諦め、 v1.0.1 でリジェクトされた条項に抜本的対策を施し、 v1.1.0 としてリリースするに至りました。 Dailyshot のダウンロードはこちらから。 リジェクト理由は”14. Personal attacks”の第3項 App Store Review Guidelines からリジェクト理由として挙げられた箇所を引用します。 14.3: Apps t
Swift で WebView を使ってWebページを表示するだけのアプリを作ってみます。 初めて実装する人でもわかるよう、細かくコメント入れています。 是非、お試しください。 テンプレートは Single View Application にします。 Webページを表示する UIWebViewクラスを使って WebView を実装していきます。 WebView を実装するには他にも WKWebView というクラスがあります。 class ViewController: UIViewController { var webView: UIWebView? var targetURL = "http://www.yahoo.co.jp/" override func viewDidLoad() { super.viewDidLoad() // Do any additional setup
Das Dating im Internet boomt. Aus diesem Grund gibt es auch vermehrt Angebote im Internet, die diesem Zweck des Kennenlernens dienlich sein sollte. Es ist der Mangel an klaren Regeln und sozialen Normen im Zusammenhang mit der Suche nach diesen nach Neudeutsch formulierten Casual Sex-Partnern im Internet, welche die Suche nach Partnern eigentlich erschwert. Dabei…
ユーザースクリプトについて ユーザースクリプトは、サイト閲覧時の主導権をあなたにもたらします。サイトを使いやすく。機能を追加する。余分なものを消す、など。いったんインストールすれば自動でサイトを改善します。Greasy Fork は、ユーザーが作成し投稿したスクリプトを共有しています。自由にインストールでき使うのも簡単です。 1. ユーザースクリプト管理ツールをインストール Tampermonkey (Chrome 版) ユーザースクリプトを使うには、まずユーザースクリプト管理ツールをインストールする必要があります。使用できるスクリプト管理ツールの種類はブラウザにより異なります。 デスクトップ モバイル (Android) モバイル (iOS) Chrome: Tampermonkey / Violentmonkey Firefox: Greasemonkey / Tampermonkey
2015年3月17日 10時21分 リンクをコピーする by ライブドアニュース編集部 ざっくり言うと スマホで、広告を非表示にできるアプリを紹介している 「AdAway」は広告を遮断してくれるオープンソースのツール プライバシー保護にフォーカスした「TrustGo Ad Detector」など ネットは広告だらけだが、スマートフォンのように画面が小さくなるとより厄介に感じるだろう。また、広告に見せかけてユーザー情報を収集するマルウェアもどきのものもある。そこで、スマートフォンで広告を表示しないための方法を紹介しよう。 以下、MakeTechEasierの記事「5 Apps to Get Rid of Annoying Ads on Your Device)」から、スマートフォンで広告を除くことができる4つのアプリをピックアップした。 ○AdAway 「AdAway」は広告を遮断してくれる
タイの首都バンコク中心部の繁華街で17日夜大きな爆発があり、これまで少なくとも12人が死亡、30人が負傷した。 Thai soldiers inspect the scene after a bomb exploded outside a religious shrine in central Bangkok late on August 17, 2015 killing at least 10 people and wounding scores more. Body parts were scattered across the street after the explosion outside the Erawan Shrine in the downtown Chidlom district of the Thai capital. AFP PHOTO / PORNCHAI KI
マスコミが絶対報道しない麻生外相の名演説!英国人が語る日本一美しい写真から分かる日本人の心 ☆★☆★ 【チャンネル登録を是非お願いします】 http://goo.gl/2Q0ICB 【新設 BLOG特亜ニュース.jpもよろしくお願いします】 http://goo.gl/Oa6LTU 【動画作成不可な稀少情報はTwitterで配信しています】 http://goo.gl/XxyW3F 目から鱗とはこのことを言うんでしょう。 海岸に自販機があり、お金を入れて飲み物が出る。 海外ではそれがありえないようです。 海岸にある自販機の写真。 それは日本人の美しい心を反映した写真です。 参照 http://dljapan.net/ob.html
分からなかったので、備忘録がてら、Q&A形式でまとめてみた。 「どうすりゃいいのか」から始めて「どういう意味なのか」に踏み込んでいったつもりです。 ご意見、ご感想、ご要望、間違いの指摘などございましたら、コメント欄まで。 Q1: Javascriptでは、クラスは関数で作ると聞きました。どういうことですか? こういうことです。 /* コンストラクタとなる関数。 クラス変数は、this.a = ... のようにして初期化します。 この関数は、通常は何も返しません。 */ function Foo(a){ /* 初期化処理 */ this.a = a; } /* Foo関数をコンストラクタとして作られたインスタンスは、 Foo.prototypeが持つプロパティにアクセスできます。 次のようにメソッドや定数を定義するとよいでしょう。 */ Foo.prototype.func = functi
はじめに 転がるサイコロを思い付いたので、それを試してみました。立体のサイコロというよりも、平面に展開されたサイコロで敷き詰められた平面をイメージして作りました。 Gist こちらにアップロードしました。 ダウンロードして、index.htmlを開くと次のような展開されたサイコロが表示されます。 使い方 h, j, k, lで、左、上、下、右方向に転がります。他のキーでは転がりません。 振り返り 本当は平面に展開されたサイコロが平面を移動するイメージだったのですが、そちらは実装できていません。 また、サイコロで敷き詰められた平面も実装できていません。その理由の1つは、平面に展開されたサイコロで平面を敷き詰めることができるのかどうか分からなかったからです。時間があれば、手を動かして確認してみたいと思います。 ひとまず、転がるサイコロというイメージを試してみました。 Register as a
ECMAScript 6(2015年6月に公開され、今もなお比較的新しい JavaScript)の大目玉である イテレータ と ジェネレータ。なかなかに複雑で巨大な仕組みになっていてややこしいです。 そこで今回は ジェネレータ を、順を追って理解できるように解説したいと思います。 Qiita: JavaScript の イテレータ を極める! ←こちらから読むのがオススメです Qiita: JavaScript の ジェネレータ を極める!(この記事) また、実用的なサンプルを「3. 実用サンプル」に示しました。 初めにこちらを見て、何ができるのかを知ってから読み始めるのもオススメです。 (2017年3月現在、オープンなページでの使用はまだ避けたほうがいいかもしれませんが、実装は確実に進んでいます。ECMAScript 6 compatibility table) 1. ジェネレータ、ジェ
やったこと 表題の通りですが、nginxを使って、デフォルトの公開用ディレクトリでなく、 下記のようなホームディレクトリに用意した、publicディレクトリを公開ディレクトリにすること ※ハマッたので、記載 前提 nginxインスト済み nginx側の設定 server { listen 80; server_name hogehoge; charset utf8; root /var/www/hoge; # シンボリックリンク済み -> /home/hoge/project/public #root /home/hoge/project/public; index index.php; client_max_body_size 128M; location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 las
console.log("false") console.log(false ? "true" : "false"); console.log("false(string)") console.log("false" ? "true" : "false"); console.log("0") console.log(0 ? "true" : "false"); console.log("-1") console.log(-1 ? "true" : "false"); console.log("0(string)") console.log("0" ? "true" : "false"); console.log("-1(string)") console.log("-1" ? "true" : "false"); console.log("null") console.log(null ?
回線品質を可視化 pingのRTTが不安定な方向に回線の品質が悪かったんで、グラフにしたら面白いはずだと思って実装したよ。 RTTの計測方法 当初はpingの応答時間を取ろうと思ってたけども、アプリケーションからpingの結果とるのは通信レイヤが違うので実装が過激になりそう。 そこで今回はWebSocketでサーバからブラウザにpingを送り。ブラウザ側は即座にpongを送り返すことでRTTの計測をします。 これを2秒に1回ずつ計測し延々とグラフにしてみます。 実装 WebSocketといいつつSocket.IOを使って実装。 https://github.com/seiketkm/webping Socket.IOはシンプルでわかりやすい。 server.js(サーバ側) index.js(ブラウザ側) サーバ側で2秒ごとにping、 ブラウザ側ではpingを受け取ったらすぐさまpong
ECMAScript 6(2015年6月に公開され、今もなお比較的新しい JavaScript)の大目玉である イテレータ と ジェネレータ。なかなかに複雑で巨大な仕組みになっていてややこしいです。 そこで今回は イテレータ を、順を追って理解できるように解説したいと思います。 Qiita: JavaScript の イテレータ を極める!(この記事) Qiita: JavaScript の ジェネレータ を極める! また、実用的なサンプルを「3. 実用サンプル」に示しました。 初めにこちらを見て、何ができるのかを知ってから読み始めるのもオススメです。 (2017年3月現在、オープンなページでの使用はまだ避けたほうがいいかもしれませんが、実装は確実に進んでいます。ECMAScript 6 compatibility table) 1. ことばの定義 1.1. イテレータ (Iterator
WebプロジェクトやWebデザイナー、アーティスト、写真家、建築家、プロジェクトチームの作品を紹介するポートフォリオサイトに最適なワードプレステーマ15個を紹介します。 作品を引き立たせるためにシンプルでありながら、モダンでおしゃれなデザインが特徴です。 自分のポートフォリオサイトを作る際、デザイナー以外の方はこういったテーマを利用するのもありですね。 1. Fukasawa Free WordPress Theme 白を貴重としたデザインのテーマです。太い白のボーダーが特徴的です。家具や小物の作品を紹介するのに良さそうです。 ダウンロード | デモ 2. Virtue Web制作の実績を紹介するのに最適なテーマです。プロジェクトに対して、属性情報を設定することができます。例えば、プロジェクトの種類、使用しスキル・技術、クライアント名、実績年、サイトのURLなどをプロジェクトごとに記入でき
WordPressテーマの背景に動画を利用する方法の紹介です。 編集する前は、「結構大変なんだろうな」と思っていたのですが、動画用のタグを記入して、そのタグに対するスタイルシートを書くだけの簡単な編集で利用できます。 以下のような動画背景が、ちょっとした編集で実装することができます。 photo by Laineema カスタマイズの主な手順 テーマの背景を動画にするには、以下の手順が必要です。 mp4、webm動画を準備する HTML要素とスタイルの記入 やることは至って単純です。 動画を準備する まず、動画は.mp4と.webmファイルを用意する必要があります。 webmは、GoogleがHTML5標準をねらう、オープンでロイヤリティフリーな動画コンテナフォーマットです。Chrome、Firefox、Operaで標準対応をしています。今後Googleは、YouTube動画をすべてWeb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く