Enviar búsqueda
Cargar
Contents blocker on iOS9
•
10 recomendaciones
•
12,552 vistas
T
toyship
Seguir
ContentsBlocker on iOS9
Leer menos
Leer más
Internet
Denunciar
Compartir
Denunciar
Compartir
1 de 28
Descargar ahora
Descargar para leer sin conexión
Recomendados
第一回REST勉強会_鈴木商店の開発環境
第一回REST勉強会_鈴木商店の開発環境
tsuchimon
「安全なウェブサイトの作り方」を読もう
「安全なウェブサイトの作り方」を読もう
Atsushi Matsuo
第一回Rest勉強会 ワークショップ
第一回Rest勉強会 ワークショップ
ksimoji
IE のサポート変更が Azure に及ぼす影響
IE のサポート変更が Azure に及ぼす影響
彰 村地
Firefox 4 with SVG
Firefox 4 with SVG
Makoto Kato
「10年後のWeb」のために、今すべきこと
「10年後のWeb」のために、今すべきこと
Mitsue-Links Co.,Ltd. Accessibility Department
ElasticBeanstalkで作るPHP実行環境
ElasticBeanstalkで作るPHP実行環境
Naoyuki Funatsu
Core Graphics on watchOS 2
Core Graphics on watchOS 2
Shuichi Tsutsumi
Recomendados
第一回REST勉強会_鈴木商店の開発環境
第一回REST勉強会_鈴木商店の開発環境
tsuchimon
「安全なウェブサイトの作り方」を読もう
「安全なウェブサイトの作り方」を読もう
Atsushi Matsuo
第一回Rest勉強会 ワークショップ
第一回Rest勉強会 ワークショップ
ksimoji
IE のサポート変更が Azure に及ぼす影響
IE のサポート変更が Azure に及ぼす影響
彰 村地
Firefox 4 with SVG
Firefox 4 with SVG
Makoto Kato
「10年後のWeb」のために、今すべきこと
「10年後のWeb」のために、今すべきこと
Mitsue-Links Co.,Ltd. Accessibility Department
ElasticBeanstalkで作るPHP実行環境
ElasticBeanstalkで作るPHP実行環境
Naoyuki Funatsu
Core Graphics on watchOS 2
Core Graphics on watchOS 2
Shuichi Tsutsumi
iOS 9 の新機能 Core Image 編
iOS 9 の新機能 Core Image 編
Shuichi Tsutsumi
What's New in Core Location - WWDC 2015
What's New in Core Location - WWDC 2015
Kosuke Ogawa
20150707 wwdc21cafe
20150707 wwdc21cafe
Sohichiro Nagao
Watch connectivity
Watch connectivity
Motoki Narita
WWDC 2015 情報共有会
WWDC 2015 情報共有会
大介 束田
Search APIs in Spotlight and Safari
Search APIs in Spotlight and Safari
Yusuke Kita
How to make workout app for watch os 2
How to make workout app for watch os 2
Yusuke Kita
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Shuichi Tsutsumi
とにかく明るいCore Spotlight
とにかく明るいCore Spotlight
今城 善矩
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
Shuichi Tsutsumi
UI/UX に影響の大きい watchOS 2 の新機能 3つ
UI/UX に影響の大きい watchOS 2 の新機能 3つ
Shuichi Tsutsumi
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
Shuichi Tsutsumi
I018145157
I018145157
IOSR Journals
I os*ble簡単プロトタイピング
I os*ble簡単プロトタイピング
Takahiro Yamamoto
Stupid Video Tricks, CocoaConf Las Vegas
Stupid Video Tricks, CocoaConf Las Vegas
Chris Adamson
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
Taketo Sano
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
Shuichi Tsutsumi
Reflectionのパフォーマンス
Reflectionのパフォーマンス
明 高橋
高速な広告配信サーバの作り方のコツ
高速な広告配信サーバの作り方のコツ
Innami Satoshi
Time for Xcode Behavior
Time for Xcode Behavior
toyship
Notifications in iOS10
Notifications in iOS10
toyship
Más contenido relacionado
Destacado
iOS 9 の新機能 Core Image 編
iOS 9 の新機能 Core Image 編
Shuichi Tsutsumi
What's New in Core Location - WWDC 2015
What's New in Core Location - WWDC 2015
Kosuke Ogawa
20150707 wwdc21cafe
20150707 wwdc21cafe
Sohichiro Nagao
Watch connectivity
Watch connectivity
Motoki Narita
WWDC 2015 情報共有会
WWDC 2015 情報共有会
大介 束田
Search APIs in Spotlight and Safari
Search APIs in Spotlight and Safari
Yusuke Kita
How to make workout app for watch os 2
How to make workout app for watch os 2
Yusuke Kita
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Shuichi Tsutsumi
とにかく明るいCore Spotlight
とにかく明るいCore Spotlight
今城 善矩
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
Shuichi Tsutsumi
UI/UX に影響の大きい watchOS 2 の新機能 3つ
UI/UX に影響の大きい watchOS 2 の新機能 3つ
Shuichi Tsutsumi
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
Shuichi Tsutsumi
I018145157
I018145157
IOSR Journals
I os*ble簡単プロトタイピング
I os*ble簡単プロトタイピング
Takahiro Yamamoto
Stupid Video Tricks, CocoaConf Las Vegas
Stupid Video Tricks, CocoaConf Las Vegas
Chris Adamson
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
Taketo Sano
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
Shuichi Tsutsumi
Reflectionのパフォーマンス
Reflectionのパフォーマンス
明 高橋
高速な広告配信サーバの作り方のコツ
高速な広告配信サーバの作り方のコツ
Innami Satoshi
Destacado
(20)
iOS 9 の新機能 Core Image 編
iOS 9 の新機能 Core Image 編
What's New in Core Location - WWDC 2015
What's New in Core Location - WWDC 2015
20150707 wwdc21cafe
20150707 wwdc21cafe
Watch connectivity
Watch connectivity
WWDC 2015 情報共有会
WWDC 2015 情報共有会
Search APIs in Spotlight and Safari
Search APIs in Spotlight and Safari
How to make workout app for watch os 2
How to make workout app for watch os 2
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
とにかく明るいCore Spotlight
とにかく明るいCore Spotlight
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
UI/UX に影響の大きい watchOS 2 の新機能 3つ
UI/UX に影響の大きい watchOS 2 の新機能 3つ
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
I018145157
I018145157
I os*ble簡単プロトタイピング
I os*ble簡単プロトタイピング
Stupid Video Tricks, CocoaConf Las Vegas
Stupid Video Tricks, CocoaConf Las Vegas
Swiftではじめる動画再生
Swiftではじめる動画再生
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
Reflectionのパフォーマンス
Reflectionのパフォーマンス
高速な広告配信サーバの作り方のコツ
高速な広告配信サーバの作り方のコツ
Más de toyship
Time for Xcode Behavior
Time for Xcode Behavior
toyship
Notifications in iOS10
Notifications in iOS10
toyship
Universal Link
Universal Link
toyship
Can we live in a pure Swift world?
Can we live in a pure Swift world?
toyship
Swift Protocol and Selector
Swift Protocol and Selector
toyship
What's new Swift3
What's new Swift3
toyship
Xcode7時代のアプリ配布
Xcode7時代のアプリ配布
toyship
My first tvOS
My first tvOS
toyship
3D touch for iOS
3D touch for iOS
toyship
Embedded framework and so on
Embedded framework and so on
toyship
はじめてのWKInterfaceController
はじめてのWKInterfaceController
toyship
App extension for iOS
App extension for iOS
toyship
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
toyship
Xcode bot
Xcode bot
toyship
AVSpeechSynthesizerとロケール
AVSpeechSynthesizerとロケール
toyship
Más de toyship
(15)
Time for Xcode Behavior
Time for Xcode Behavior
Notifications in iOS10
Notifications in iOS10
Universal Link
Universal Link
Can we live in a pure Swift world?
Can we live in a pure Swift world?
Swift Protocol and Selector
Swift Protocol and Selector
What's new Swift3
What's new Swift3
Xcode7時代のアプリ配布
Xcode7時代のアプリ配布
My first tvOS
My first tvOS
3D touch for iOS
3D touch for iOS
Embedded framework and so on
Embedded framework and so on
はじめてのWKInterfaceController
はじめてのWKInterfaceController
App extension for iOS
App extension for iOS
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
Xcode bot
Xcode bot
AVSpeechSynthesizerとロケール
AVSpeechSynthesizerとロケール
Contents blocker on iOS9
1.
Contents Blocker on iOS9 @TachibanaKaoru ©
TachibanaKaoru 1
2.
自己紹介 Tachibana Kaoru - iOS
Engineer at VOYAGE GROUP - Twitter: @TachibanaKaoru - Blog: http://www.toyship.org/ • WWDCは2010,2015に参加 © TachibanaKaoru 2
3.
What is Contents Blocker © TachibanaKaoru
3
4.
What is Contents
Blocker • iOSやMacでSafariに表示する項目を、自動的に制限する機能 • Macでは、Safari Pluginとして提供される • iOSでは、Today WidgetやShare ExtensionのようにApp Extensionとして提供される © TachibanaKaoru 4
5.
What is Contents
Blocker • ブロックする対象 • cssで指定された特定の要素を非表示にする • 特定のファイルを読みこまないようにする • 特定のクッキーを読みこまないようにする © TachibanaKaoru 5
6.
What is Contents
Blocker • 適用範囲 • Safari以外のブラウザ(Chromeなど)には影響しない • iOS9から導入された SFSafariViewControllerには適用され る • UIWebView/MKWebViewには影響しない © TachibanaKaoru 6
7.
How to implement Contents Blocker for
iOS © TachibanaKaoru 7
8.
How to implement
Contents Blocker for iOS iOSではコンテンツブロッカーは、App Extensionとして提供さ れているため、まずは本体となるアプリを作成します。 Xcodeでアプリを作ったら、メニューから File - New - Target を選び、iOS-Application Extension の Content Blocker Extension を選びます。 © TachibanaKaoru 8
9.
How to implement
Contents Blocker for iOS コンテンツブロッカーのターゲットが追加され、 ActionRequestHandler.swift と blockerList.json のファイル が生成されます。 ブロックする要素と条件は blockerList.json ファイルで設定し ます。 © TachibanaKaoru 9
10.
試しにこちらのページの要素 にコンテンツブロッカーを適 用させてみましょう © TachibanaKaoru 10
11.
hide contents CSSの特定の要素を非表示にする方法です。 blockerList.json には、複数の表示設定を追加することがで き、ファイルの先頭から順番に適用されていきます。 action要素
処理内容についての設定 trigger要素 処理の適用箇所の設定 © TachibanaKaoru 11
12.
hide contents タイトルの下の日付や著者名を消してみましょう。 この部分のclass属性は「byline」なので、 blockerList.jsonにtype:css-display-noneのaction要素を追加 することでこの部分を非表示にすることができます。 action要素のselectorにはdiv.bylineを指定します。 trigger要素でこの条件の適用場所の指定をします。 © TachibanaKaoru
12
13.
blockerList.json [ { "action": { "type": "css-display-none", "selector"
: "div.byline" }, "trigger": { "url-filter": ".*" } } ] © TachibanaKaoru 13
14.
hide contents facebookのlikeボタンも消してみましょう。 この部分のdivのclass属性はwsblfacebooklikeです blockerList.json にこの要素を追加します ©
TachibanaKaoru 14
15.
blockerList.json [ { "action": { "type": "css-display-none", "selector"
: "div.wsbl_facebook_like" }, "trigger": { "url-filter": ".*" } } ] © TachibanaKaoru 15
16.
hide contents この設定でさきほどのページを表示する と、こうなります。 タイトルの下の日付や著者名の部分と、 facebookのlikeボタンの表示が消えてい ますね。 © TachibanaKaoru
16
17.
© TachibanaKaoru 17
18.
block contents 次は、コンテンツの読み込みをブロックしてみましょう。 画像のURLは http://www.toyship.org/wp-content/uploads/ 2014/03/XcodeScreen-636×310.png
です。 blockerList.json に type:block のaction要素を追加すると、こ の画像の読み込みをブロックすることができます。 © TachibanaKaoru 18
19.
blockerList.json [ { "action": { "type": "block" }, "trigger":
{ "url-filter": "/wp-content/uploads/2014/03/", "if-domain": ["www.toyship.org"] } } ] © TachibanaKaoru 19
20.
block contents この設定でさきほどのページを表示する と、こうなります。 画像の表示が消えていますね。 © TachibanaKaoru
20
21.
© TachibanaKaoru 21
22.
block contents • ブロックは、画像だけではなく、特定のjsファイルやcssファ イルのブロックも可能。 •
コンテンツブロッカーで、実際にどんなコンテンツがブロッ クされたのかはアプリで知ることはできない • もしブロックされた要素がキャッシュされていた場合にも、 読み込みはブロックされます。 © TachibanaKaoru 22
23.
block cookies 同様にtype:block-cookiesのaction要素を追加することでクッ キーのブロックもできます。 © TachibanaKaoru
23
24.
How to apply Contents Blocker
for iOS © TachibanaKaoru 24
25.
How to apply
Contents Blocker for iOS -ユーザーがSafariで有効にするためには下記の手順が必要です。 -コンテンツブロッカーを含むアプリをダウンロードする -Safariの設定の「コンテンツブロッカー」の項目から、インス トールしたアプリのコンテンツブロッカーを選んでonにする © TachibanaKaoru 25
26.
Webkit 詳しい blockerList.json の設定方法 は、Introduction
to WebKit Content Blockersを参照してください。 Benjamin Poulain(@awfulben) なお、ソースコードも公開されていま す。 © TachibanaKaoru 26
27.
Matome © TachibanaKaoru 27
28.
Matome コンテンツブロッカーをonにすると、特定のcss要素を非表示に したり、特定のファイルやクッキーの読み込みをブロックする ことができる コンテンツブロッカーはToday WidgetやShare Extensionのよう に、既存のアプリの一部として提供される 何をブロックしたのかという情報は、コンテンツブロッカーを 含むアプリで取得することはできない ©
TachibanaKaoru 28
Descargar ahora