WebKit、WebCore、および JavaScriptCore のアプリ バンドルにカスタム フレームワークがあります。WebKit、WebCore、または JavaScriptCore のシステム バージョンに依存する他のすべてのフレームワークでも、私のカスタム バージョンを使用したいと考えています。たとえば、Webkit のカスタム バージョンは、WebKit のシステム バージョンに依存するプライベート システム フレームワークをロードします。これは、私の WebKit とシステム WebKit の両方がロードされ、通常はその直後にクラッシュが発生することを意味します。
これを行う必要があることを私が理解している方法は、アプリバンドルの実行が開始される前に DYLD_FRAMEWORK_PATH 環境変数を設定することです (フレームワークをロードするための検索順序は、ここにあります: http://code.google.com/p/macdependency/wiki/SearchPaths)。setenv を使用してコードで環境変数を設定できますが、現在実行中のプロセスには影響しません。有効にするには、プロセスを再度起動する必要があります。これも避けたい。
私の質問は、アプリバンドルの実行前に DYLD_FRAMEWORK_PATH を設定する最良の方法は何ですか? これは、リリース アプリ バンドルでも機能する必要があります。実行可能ファイルの実行が開始される前に誰かが私のアプリ バンドルをクリックするたびにスクリプトを実行する方法はありますか? それとも他に何か提案はありますか?
前もって感謝します。