首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试从框架内加载nib时,无法找到nib名为错误的nib

尝试从框架内加载nib时,无法找到nib名为错误的nib
EN

Stack Overflow用户
提问于 2012-09-03 00:47:26
回答 2查看 351关注 0票数 0

我有一个'Main app‘和一个'Helper app’(沙箱,如果有关系的话),它们共享一个私有框架,包括一些资源,nib文件,声音文件等。

该框架被两个应用程序调用和使用,没有任何问题。但是,在框架代码中,我有一个NSViewController,它加载一个nib文件,该文件包含在它的资源文件夹中。只要它被“主应用”调用,这似乎就能起作用。然而,对助手应用程序(登录项)执行相同的操作并不起作用,并且会失败,并出现"Unable to find nib named"错误。

实际的'Framework‘被复制到主应用程序的'Frameworks’目录中,我在助手应用程序中使用@r路径来查找框架:@executable_path/../../../../Frameworks

这个设置似乎工作得很好,但是在运行时,框架代码似乎试图在助手应用程序的Resource文件夹下查找命名资源,而不是在Framework的资源文件夹下。在xcode中有没有什么设置或者标志可以让框架总是在安装框架的可执行文件/库的确切路径下进行查看?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-03 02:14:03

似乎唯一的解决方案就是将框架复制到'Helper‘应用程序中。否则,如果框架只是放置在主应用程序中的实际框架的符号链接,则不会加载资源。

票数 0
EN

Stack Overflow用户

发布于 2012-09-03 02:36:19

你能做的就是让你的框架像这里描述的那样动态或共享,Dynamic Library Programming Topics

虽然这是一个有点复杂的过程,但它是一个非常好的功能。

还有什么可以帮助你的?

可能是在Xcode中编辑构建设置下的库搜索路径或框架搜索路径。您可以在其中指定要查找的其他搜索路径。

尽管如此,我也不会将框架复制到主应用程序的目录中。我会把它放在你磁盘上的一个地方,把它们添加到你的项目中(Main和helper),然后添加指定的搜索路径。

顺便问一下:你的框架是如何实现的?它是一个文件夹,是经过编译的,还是仅仅是代码文件?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12237880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档