2012-05-10 35 views
2

我所著通過設置環境變量命名DYLD_INSERT_LIBRARIES,所述dylib負載加載到一些靶的應用程序和當應用從終端執行由該命令工作正常動態庫:info.plist的LSEnvironment部分不起作用。

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

然後,我通過設置DYLD_INSERT_LIBRARIES的值編輯info.plist文件中的LSEnvironment部分。 某些蘋果標準應用程序(如TextEdit和Calculator)會成功加載我的圖書館,但此設置不會對諸如InDesign,Photoshop等應用程序產生影響...

爲什麼對某些應用程序不設置環境變量? 有沒有人有關於它的想法? Thankyou。

+0

你有沒有發現這方面的任何解釋?我也在努力。 – Jamie

+0

不,我沒有找到任何解釋。我現在使用代理可執行文件將我的庫注入到應用程序中。 –

+0

當進程啓動時需要注入你的lib時,這是否工作?你能給我一個鏈接,我可以找到更多? – Jamie

回答

0

由於您沒有進一步明確,我假設你啓動Photoshop,並通過終端這使得在LSEnvironment設置這些環境變量等等太(?) 無效的,因爲這些只是用來 的過程通過「啓動服務」啓動。 ..

如果通過「啓動服務」啓動它,你檢查你的庫是不是隻需通過dlclose()由程序卸載?...

+0

我從Finder開始。 「你有沒有檢查你的庫是不是簡單地通過dlclose()由程序卸載?」 :我的圖書館從不加載。 –

+0

我也有這個問題。任何人都找到解決方案 – Jamie