0

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

我将苹果的“CocoaInCarbon”示例中的代码与 C++ Wrappers 一起使用。但NSApplicationLoad()随后[NSBundle LoadNibNamed:@"MyWindow" owner:self]失败。这是由于 dylib 不是捆绑包引起的吗?

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

4

2 回答 2

2

Yes, the problem is that it's not a bundle; your nib can't possibly be inside a bundle that doesn't exist, so how would the code find it to open it?

You need to either use a framework (which is a bundle), and ship the nib in that framework, or you need to create the entire window programmatically in your dylib.

于 2010-07-02T15:02:25.763 回答
0

dylib当共享库不是非常低级并且特别涉及 GUI 时,仅在 Mac 上发布并不是标准做法。您将它打包成一个framework,这样它不仅可以在其中包含代码,还可以在一个地方包含相关资源(笔尖、图像、声音)。

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

于 2010-07-02T21:06:54.507 回答