4

DYLD_INSERT_LIBRARIESという名前の環境変数を設定することでいくつかのターゲットアプリケーションにロードされるダイナミックライブラリを作成しました。dylibロードであり、アプリケーションがターミナルから次のコマンドで実行されると正常に動作します。

$ export DYLD_INSERT_LIBRARIES=/path/to/mylib.dylib
$ /path/to/application.app/Contents/MacOS/executable

次に、info.plistファイルのLSEnvironmentセクションを編集して、DYLD_INSERT_LIBRARIESの値を設定します。テキストエディットや電卓などの一部のアップル標準アプリケーションはライブラリを正常にロードしますが、この設定はInDesign、Photoshop、...などのアプリケーションには影響しません。

一部のアプリケーションで環境変数が設定されないのはなぜですか?誰かがそれについて考えを持っていますか?ありがとうございました。

4

1 に答える 1

0

さらに指定しなかったので、ターミナル経由でも Photoshop などを起動すると思います (?) LSEnvironment で設定されたこれらの環境変数は、「Launch Services」を介して開始されたプロセスによってのみ使用されるため、無効になります...

「Launch Services」を介して起動した場合、ライブラリがプログラムによって dlclose() を介して単純にアンロードされていないことを確認しましたか?...

于 2012-07-14T20:28:25.190 に答える