今日はちょっと意地悪なことをしてしまいました。
すべてのビュー コントローラーは、2 つの異なる親ビュー コントローラー (XXXViewController と YYYViewController としましょう) から継承します。XXXViewController はTrackedUIViewController
、Google アナリティクス SDK で提供されているクラスである を継承しているため、すべてのビュー コントローラーはそれを継承して簡単に追跡できます。
ただし、YYYViewController は別の種類のビュー コントローラーから継承します。ああ、それは私が本当に変更したくないオープンソースのコードです。
ここで何が問題なのですか?TrackedViewController で提供されているメソッドはプライベートであるためアクセスできないため、YYYViewController の子を追跡することはできません。
Google アナリティクス SDK で提供されているソースを変更したくありません。それで、私は何をしましたか?コンパイル エラーを回避するためだけに、これらのメソッドを公開するカテゴリを作成します。
これの明らかな欠点は、GA のソース コードが変更されると破損する可能性があることですが、それを検出するのはかなり簡単です。
これを行うことで他にどのような問題に直面する可能性があるのか 、そして皆さんがより良いアプローチを考えることができるかどうか疑問に思っていました.
ありがとうございました