【祝】iOS10.3.2 beta3で重大なバグが修正されました。

iOS10.3で発生したコンテンツブロッカーのバグは、2017/4/18にリリースされたiOS10.3.2 beta3で修正されていました。
全てのパターンでの検証はしていませんが、[class^=’xxx-‘]が正しく動作する事をひとまず確認しました。

<バグの詳細について>
コンテンツブロッカーで要素非表示ルールの多くが動作しなくなるバグです。
“[“が使われているルールは動作せず無視されます。例えば、[id*=’yyy’]のようなものは全く動きません。
その他も色々動作しないものがありました。正しく動作する要素非表示のルールは .xxxxx や #yyyyのみだったように思います。
safariのレンダリングエンジンであるwebkitのバグによるもので、2017/3/24にwebkitの修正パッチが公開されました。
iOS10.3、iOS10.3.1、iOS10.3 beta 全て、iOS10.3.2 beta1~2にバグがあります。iOS10.3.2 beta3で修正されました。


別件ですが、hostファイルをworkflowで動くように再度修正しました。workflowは便利ですので、コピペが面倒な方は使ってみるのが良いかと思います。

最近届いた質問へのお返事

・ソフトバンクのスーパーフライデー
今月はサーティワンですが、コンテンツブロッカー280は問題ありません。
Futuremind Adblock、広告ブロッカー、Adfilterなどは先月と同じく問題が出ましたので、クーポン表示するときはオフにして使ってください。

・コンテンツブロッカーのバグについて
ios10.3.2 beta3でもコンテンツブロッカーのバグは修正されていません。
280blockerでは工夫することで出来る限りバグを回避している状況が続いています。

・コンテンツブロッカー280の定義ファイルの更新が早すぎて大丈夫ですか?という質問
iPhone側の回線状況が良ければ1秒以下で更新終了するので普通です。
コンテンツブロッカー280は、配信側のwebサーバやCDNに毎月それなりにお金をかけています。その他色々工夫して更新を高速化しつつ、エラーをおこらないようにしています。

・広告を報告いただく方へお願い
報告はありがたいのですが、広告のドメインやURLだけを書かれても、どのように対応したら良いか少し困っています。
これを信じてそのまま全てルールへ追加した結果、不具合が起きた事が過去に何度かあって慎重になっています。
実際にiPhoneで広告が表示されるページを書いてください。実際に広告が表示されて、消せる事を確認してルールへ追加したいです。

iOS10.3正式版のバグの状況

iOS10.3ではコンテンツブロッカーの要素非表示系で多用されるルールが無視されて動作しないバグがあります。
古いiOSからiOS10.3にアップデートした直後は動くこともありますが、端末を再起動するとこのバグが必ず出現するようです。
このバグにより、コンテンツブロッカーアプリの多くが影響を受けます。
(ドメイン名でブロックする機能しかないコンテンツブロッカーアプリは影響ありません。)

具体的には[xxxx=’yyyy’]という形式が全く動作しません。例えば、[id=’ad”]や[class^=’ad1′]、[href*=’adhost’]などが動きません。
これに伴い、iOS10.2のコンテンツブロッカーで消えていた広告や空白の一部が消えなくなってしまいました。

webkit.orgの方で修正パッチが出ています。(チェンジセット 214358 – WebKit)
おそらくiOSのバージョンアップでこの修正パッチが取り込まれて直ると思われますが、少し先になるかと思います。

280blockerについては出来る限り影響を減らすように様々な工夫をして修正版の定義ファイルをリリースしました。
ただ、全体の10~20%のルールはどうにも対応できませんので、OSが修正されるまで待つしかない状況です。

iOS10.3正式版でsafariのbugは解消していません。

申し訳ありません。なんらかの条件で不具合が復活するようです。別記事に書きます。
以前に書いたiOS10.3 betaでのsafariのコンテンツブロッカーの不具合ですが、正式版では解消し直っています。
280blockerはiOS10.3で正しく動作する事を確認済みです。

iOS10.3のベータ版を使っていた方はiPhoneの設定→一般→情報でバージョンをチェックしてください。
iOS 10.3(14E5277a)はbeta7ですので広告が一部消えない不具合が起こります
正式版のiOS 10.3(14E277)でしたら正しく動作します。

<参考>
https://bugs.webkit.org/show_bug.cgi?id=169167
パッチが出ています。おそらくこれがiOS 10.3正式版に取り込まれたのだと思います。

iOS10.3 beta のバグについて

現在、配布されているiOS 10.3 Betaには、コンテンブロックの要素非表示にバグがあります。
[○○○=’xxxx’]や、[○○○*=’xxxx’]と言った書式では要素非表示が動作せず指定した要素が消えません。ちなみに、.xxxxや#xxxxなどは動作します。

リンク先を指定して消したり、classやidの一部を指定して消す事ができなくなる大きな問題ですが、最新のiOS 10.3 Beta 7でも未修正です。

webkit.orgや、apple developperのforumには他の方が問題を上げていただいていますので、特に報告せず様子を見ています。
もしも修正されないままiOs10.3の正式版がリリースされてしまうと、280blockerでは一部広告が消えなかったり空白スペースが残ってしまうなどの影響が出ます。

<参考リンク>
Bug 169167 – REGRESSION: Content Blocker: Blocking “a[href*=randomString]” doesn’t work
Ad blocking is not working properly in iOS 10.3 beta. | Adguard forum
Ad blocking is malfunctioning in iOS 10.3 beta…. | Apple Developer Forums

不具合報告への対応について

・使えないという報告
問い合わせに使えないという報告を何度も頂き、レビューにも使えないと書かれています。(おそらく同一の方)
アプリ内の使い方やこのサイトのFAQをもう一度読んで下さい。
連絡先(メールアドレス)が書かれていないため、「早急な対応希望」と書かれていますが連絡できないため対応できなくて困っています。

・ソフトバンクスーパーフライデーのクーポンが使えないという報告。
コンテンツブロッカー280のみでは正しく動作します。他の広告ブロックアプリが原因と思われます。
検証した中では、広告ブロッカー(mayo donburi)や、Adfliterなどは不具合でクーポンが発行できません。これらのアプリを併用されていませんでしょうか。

・anipoについて
広告ブロッカー対策を強化しすぎたのか、コンテンツブロッカーを使っていなくてもリンクが表示されない不具合が出ているようです。(サポート掲示板
サイト側の問題と思いますのでしばらく様子見をしています。他のブラウザ(iOS用chromeなど)を使ってください。

ソフトバンクのスーパーフライデーのクーポン発行について

広告ブロックアプリが原因でクーポンが発行できないというトラブルが頻繁に起こっているようです。

●コンテンツブロッカー280
問題なく、スムーズにクーポンが発行できます。
オンにしたままで大丈夫です。
実際にクーポンが発行できることを確認しました(2017/3/3)

●Futuremind Adblock
microad.jpをオフにする必要があります。
(配布ファイルに記載済みです。)

●その他の広告ブロッカー、コンテンツブロッカー
多くのアプリで不具合が出てクーポンが発行できません。(検証済み)
クーポンを発行するときは、280blocker以外のアプリはオフにしたほうが良いです。

my.1blocker.comが閉鎖

自分で1blockerルールを作る方への情報です。

ルール作成サイト(my.1blokcer.com)を復活させてくれないか開発元に問い合わせしていたのですが、Mac版の1blockerでルールを作ってくださいとの事でした。サイトが復活することはなさそうです。

280blockerの1blocker用のファイルもこれからはmacで作成することになりました。
ちなみにサイトで作成するのとmacで作成するのでは出来上がるファイルの中身が少し違います。ブロックされるものは同じなのですが、中身のjsonファイルの記載の順番などが変わっています。

現在この新しい環境に対応中です。例えば配布している色々なファイルを作る作業はマクロを使って一部自動化していましたので現在それを変更している最中です。

1blockerの変更について

特に重要な情報はない、ちょっとしたメモです。

blockerのルール作成サイト( my.1blocker.com )が、告知なく突然閉鎖されてしまって、困っています。
これに伴い定義ファイルの作成手順を変更中で、新しい手順を確立するまでもう少し時間がかかりそうです。

1blockerの「不具合が起こるもの」のルールの中に画像やscript、third-partyなどをブロックするルールを追加しています。基本的にオフで使うものですが、あると便利なので入れました。

サイトアイコン(favicon)がアプリのアイコンと紛らわしいのでモノクロへ変更しました。再読込するとカラーからモノクロへ変わると思います。

iPhoneのアプリ広告の簡単な消し方(4G/LTE/3G通信時)

通信の必要のないゲームアプリやユーティリティなどは、通信をブロックすると広告が消え、動作には問題のないものがほとんどです。

iPhone/iPadでは、簡単にアプリごとのモバイルデータ通信をブロックするすることができます。
iPhoneの設定→モバイルデータ通信で、そのアプリをオフにするだけです。
これでそのアプリのすべての通信をブロックしてくれますので広告がすべて消えます。
欠点は、Wi-Fiがつながっている時には効果がない事です。

ただ、データ通信量の節約にもなりますし、広告だらけのアプリはとりあえず通信をオフに設定しておくと良いです。

————————-
Adblock(Futuremind)向けのリストですが下記は不具合の原因になることがわかったので消しました。今使ってらっしゃる方は入れ直すより、検索してオフにするほうが楽だと思います。
mtburn.com
tpc.googlesyndication.com
embed.ly
embedly.com