#検証環境
Xcode 7.0 beta6 (7A192o)
#手順
- Xcode7を起動します
- 適当に新規iOSアプリのプロジェクトを作ります
- File > New > Target を選択し、iOS > Application Extension > Content Blocker Extension を選択して適当な名前をつけます
- blockerList.json というファイルを適当に編集します。
- iOS Simulatorで2.で作成したアプリを起動します
- iOSのSettings > Safari > Content Blockers を開き、自分が作った Content Blocker がオンになっていることを確認します
- Safariを開いて、適当なwebサイトを開いて blockerList.json 通りに広告がブロックされてれば実装完了です。
たとえば Google の広告をブロックしたければ以下のように記述します
blockerList.json
[
{
"action": {
"type": "block"
},
"trigger": {
"url-filter": "googlesyndication.com"
}
}
]
このコンテントブロッカーをインストールした状態で、Safariで適当なサイトを開いてみましょう。
例えば・・・
これが・・
こうなる。うざいバナー広告が消えてうれしい()
blockerList.json の仕様
そもそもcontent blocker ってwebkitの機能みたいですね。特定のクッキーをブロックしたり、cssセレクタで指定した要素を非表示にしたり、といったことができるようです。
その他の用途
ちなみに広告にかぎらず、たとえばエロサイトとか匿名掲示板へのアクセスをブロックして、子供向けのセーフブラウジング用のブロッカーを作ることもできます。
Safariで表示できるものは何でもブロックできるんで「広告ブロッカー」と名乗りつつ、さりげなく競合他社のドメインを仕込んでおいて炎上、みたいなことが起きそうですね・・
楽しみです。