« bcscan 0.1 リリース | トップページ | ADCサンプル BoundButton »

2007.07.07

Safari3 の WebKit のインストールについての改善案を勝手に考える

あんまし興味ないので Safari 3 はインストールしていないのだけれど、耳にした情報ではシステムの Webkit.framework を置き換えてしまうようだ(インストーラだけダウンロードして lsbom で確認)。rubycocoa-talk でも、Safari3 をインストールした状況でビルドがうまくいかないという報告がきていた

新しい WebKit て、現在の Tiger のものと互換だっていうモノだったのだっけ?そうでなければ、こういった問題を回避する方法はあるよね。

その1、アプリケーションにフレームワークを入れる

MacOS X では、システム共通のフレームワーク(/System/Library/Frameworks, /Library/Frameworks)として以外にも、アプリケーションバンドル内にフレームワークを置くこともできる。そうすれば、他のアプリケーションに影響を与えることなく、Safari3 では新しい WebKit を利用することができるようになる。

 Safari.app/
   Contents/
     MacOS/Safari
     Frameworks/WebKit.framework/...

その2、フレームワーク内に複数バージョンを入れる

もしくは、フレームワークバンドルには複数バージョンを入れることができるから、それを利用すればよい。ただ、フレームワークのバージョンをちゃんと利用しているのって見た記憶がほとんどない。ちょっと扱い難いのだよね、これ。

 /System/Library/Frameworks/WebKit.framework/
   Headers    # Versions/Current/Headers へのシンボリックリンク
   Resources  # Versions/Current/Resources へのシンボリックリンク
   WebKit     # Versions/Current/WebKit へのシンボリックリンク
   Versions/
     A/       # 今のWebKit
     B/       # Safari3用のWebKit
     Current/ # -> A へのシンボリックリンクのまま

|

« bcscan 0.1 リリース | トップページ | ADCサンプル BoundButton »