更新使用ConnectionKit框架內的一個NSBundle
我既然花時間學習如何使用install_name_tool
& otool
正確做到這一點,這裏記錄的過程:Using Frameworks Within NSBundles
我想在我正在創建的NSBundle中使用Connection Kit框架。
要允許我的包成功加載框架,我已將dynamic library install name
更改爲使用@loader_path
而不是@executable_path
。
建設和包括我的一個NSBundle的框架,然後構建,運行加載我的包程序後,我的包無法加載,併產生下列輸出:
Error loading MyBundle.rwplugin/Contents/MacOS/MyBundle: dlopen(/Users/facelap/Library/Developer/Xcode/DerivedData/MyBundle-hiyhdkndcnuhspfqwcuyneqobeou/Build/Products/Debug/MyBundle.rwplugin/Contents/MacOS/MyBundle, 265): Library not loaded: @executable_path/../Frameworks/DAVKit.framework/Versions/A/DAVKit
Referenced from: /Users/facelap/Library/Developer/Xcode/DerivedData/MyBundle-hiyhdkndcnuhspfqwcuyneqobeou/Build/Products/Debug/MyBundle.rwplugin/Contents/MacOS/../Frameworks/Connection.framework/Versions/A/Connection
Reason: image not found
它似乎Connection Kit本身使用框架。
我也有這個框架的來源。我試着將其dynamic library install name
設置爲@loader_path
,但是這導致了類似的輸出(並且綁定失敗)。
對於在NSBundle中使用的框架內的框架,dynamic library install name
會有什麼合理的輸入?
謝謝,我可能會嘗試。你能澄清一下你的意思嗎?它的ConnectionKit和DAVKit的設置安裝路徑...?我不明白你在那裏想說什麼。 – 2012-02-23 23:46:16
建設DAVKit wihtin ConnectionKit工作,感謝您的提示:) – 2012-02-25 11:12:40