使用MonoMac NSScreen.screens可能返回null的原因?

时间:2012-08-10 13:11:54

标签: mono appkit monomac

我正在使用Mono / Monomac框架与本机Mac库进行一些Interop。一般来说,它运作良好,但现在我需要找到屏幕分辨率。 Monomac已经为NSScreen定义了必要的进口产品。

不幸的是,NSScreen(Screens,MainScreen和DeepestScreen)上的所有属性都返回null。我倾向于相信他们从来没有工作,但我似乎在MonoDevelop的源代码中引用它们,所以很可能我忽略了一些东西。完整性的代码示例(异常抛出):

NSScreen[] shouldNotBeNull = NSScreen.Screens;
if (shouldNotBeNull == null)
    throw new Exception("That was unexpected");

我也尝试了IntPtr scrRef = objc_getClass("NSScreen"),在这种情况下,scrRef也最终为null(嗯,IntPtr.Zero)。巧合还是线索?

编辑:OSX 10.7.4上的单声道2.10.9

1 个答案:

答案 0 :(得分:0)

结果证明NSApplication.Init()未在此路径上被调用。