Cocoa IBPlugin和框架的路径
当IB找不到框架时,IBCocoaSimulator崩溃,我想这也会发生在您身上。当我手动将framework+ibplugin从build目录复制到Cocoa IBPlugin和框架的路径,cocoa,xcode,interface-builder,ibplugin,Cocoa,Xcode,Interface Builder,Ibplugin,当IB找不到框架时,IBCocoaSimulator崩溃,我想这也会发生在您身上。当我手动将framework+ibplugin从build目录复制到/Users/username/Library/Frameworks中时,我可以运行IBCocoaSimulator而不会崩溃。我用Finder做这件事,这不是最优的,但很有效 我一直在寻找一种更智能的方法,我一直在寻找的每个解决方案(BWToolkit、BGHUDAppKit、KTUIKit)都以不同的方式做事情。一种解决方案运行sudo脚本,将
/Users/username/Library/Frameworks
中时,我可以运行IBCocoaSimulator而不会崩溃。我用Finder做这件事,这不是最优的,但很有效
我一直在寻找一种更智能的方法,我一直在寻找的每个解决方案(BWToolkit、BGHUDAppKit、KTUIKit)都以不同的方式做事情。一种解决方案运行sudo脚本,将其复制到系统范围的/Library/Frameworks
。另一个设置@loader\u path
,还有一个使用@executable\u path
。我对它们中的任何一个都没有运气,由于它们之间的巨大差异,很难看到它们的模式
我很困惑
如何配置IBPlugin,以便将其嵌入应用程序?
更新1: 是的,解决了这个问题,在阅读了一篇关于如何使用@rpath的文章后,我想出了如何让它与我的IBPlugins一起工作。因此,不再需要使用Finder进行复制 我所做的是:
@rpath
@loader\u path/。/Frameworks
@loader\u path/。/Frameworks
很好。对你们大多数人来说可能是显而易见的,但neoneye在其“更新1”中发布的解决方案要求您的插件目标有一个“复制框架文件”构建阶段,并将给定的框架分配给
(还没有足够的要点进行直接评论:(因此答案是帖子)您可以通过ibplugin makefile中的外部makefiles xcode项目调用此选项,如以下示例所示:
install_name_tool -change @loader_path/MyPluginName.framework/MyPluginName @loader_path/<absolute path or level to updirectory>/MyPluginName.framework/MyPluginName $(BINDIR)/MyPluginName.ibplugin/Contents/MacOS/MyPluginName
install\u name\u工具-change@loader\u path/MyPluginName.framework/MyPluginName@loader\u path//MyPluginName.framework/MyPluginName$(BINDIR)/MyPluginName.ibplugin/Contents/MacOS/MyPluginName