dibib中的笔尖窗口

时间:2010-07-02 14:45:30

标签: cocoa window macos-carbon nib dylib

我对Mac很陌生,但合理地使用了Windows。 我需要的是一个由库(dylib)打开和关闭的窗口。 这在MS Windows中很容易做到,但在Cocoa下似乎并不难。

我使用了Apple的'CocoaInCarbon'示例中的代码和C ++ Wrappers。 但NSApplicationLoad()后跟[NSBundle LoadNibNamed:@"MyWindow" owner:self]失败。这是由dylib不是捆绑引起的。

是否有其他方法可以在dylib中打开和控制窗口?

2 个答案:

答案 0 :(得分:2)

是的,问题在于它不是捆绑;你的nib不可能在一个不存在的bundle里面,那么代码如何找到它来打开它呢?

您需要使用框架(这是一个包),并在该框架中发布nib,或者您需要在dylib中以编程方式创建整个窗口。

答案 1 :(得分:0)

如果共享库的级别不是很低并且特别涉及GUI,那么在Mac上发送dylib并不是一种标准做法。您将其打包成framework,这样它不仅可以在其中包含代码,而且可以在一个地方包含相关资源(笔尖,图像,声音)。

阅读this Apple document以了解正在发生的事情以及如何准备。或者,查看/System/Library/Frameworks/以了解OS X本身如何提供库。