Source dode: Ads-Blocks Sample code

The sample code is written to evaluate so-called json filters for Safari. MesaViewController is just a test program main, but MesaBlockFileter is developed for MesaClip for iOS. You can manage ads-blocks with the filters on memory. If your users want to customize filters, write the memory filters and read them after their customization, then rewrite them. As the filters are converted from macOS version, there would be my misunderstanding. I hope it is helpful for some app developers. Please refer to iOS 11 WKWebViewで広告などのコンテンツブロックをする by Mr. Shingo Fukuyama as well. The page is very good though it is written in Japanese. In regard to copyright, please refer to the source code.

  • このサンプルプログラムはフィルタの評価をするために作成しました。
  • MesaViewControllerは、フィルタ読み込んだあと、webページを表示し、フィルタが妥当かチェックするための暫定評価プログラムです。
  • MesaBlockFileterは、実際にMesaClip for iOSで使っています。
  • メモリだけで処理した方がプログラム上の操作性がいいので、Swiftに組み込む.jsonファイルの中身は最小限で動作するようになっています。
  • メモリ上のフィルタをカスタマイズしたい場合、これをファイルに書き出し、カスタムフィルタ対応ができるようになっています。
  • フィルタはMesaClip for macOSアプリで使っているものをコンバージョンしました。macOS版は力づくでコンテンツブロックを実装したので、フィルタの互換性がありません。そのため勘違いや間違いがあるかもしれません。

謝意: コンテンツブロックの処理はShingoFukuyamaさんのコードを参考にしています。詳細はiOS 11 WKWebViewで広告などのコンテンツブロックをするを参考にしてください。ShingoFukuyamaさん、ありがとうございます。