繁体   English   中英

尝试从框架内加载笔尖时找不到笔尖命名错误

[英]Unable to find nib named error when trying to load nib from within a framework

我有一个“主应用程序”和“助手应用程序”(如果需要的话,已沙盒包装),它们共享一个私有框架,包括一些资源,nib文件,声音文件等。

框架被两个应用程序调用并使用,没有问题。 但是,在Framework代码中,我有一个NSViewController可以加载一个nib文件,该文件包含在其资源文件夹中。 只要“主应用”调用它,它似乎就可以正常工作。 但是,使用“助手”应用程序(登录项)执行相同操作无效,并失败,并显示"Unable to find nib named"错误。

实际的“框架”已复制到主应用程序的“框架”目录中,我在助手应用程序中使用@rpath查找框架: @executable_path/../../../../Frameworks

此设置似乎可以正常运行,但是在运行时,框架代码似乎试图在助手应用程序的Resource文件夹下而不是Framework的资源文件夹下找到命名的Resource。 我是否可以在xcode中设置一个设置或某些标志,以使框架始终看起来在安装框架的可执行文件/库的确切路径下?

似乎唯一的解决方案是将框架也复制到“ Helper”应用程序。 资源否则不要装,如果框架只是一个符号链接放置在主应用程序内的实际框架。

您可以做的是使您的框架成为动态的或共享的,如此处所述动态库编程主题

尽管这是一个复杂的过程,但是却是一个非常不错的功能。

还有什么可以帮助您的?
也许在Xcode中的“构建设置”下编辑“库搜索路径”或“框架搜索路径”。 您可以在此处指定要查找的其他搜索路径。

即使,我也不会将Framework复制到主应用程序的目录中。 我将其保留在磁盘上的某个位置,将它们添加到您的项目(“主”和“助手”)中,并添加指定的搜索路径。

顺便说一句:您的框架如何实施? 它是文件夹还是已编译,还是仅代码文件?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM