OSX自定义授权插件因升级到Mojave而中断

时间:2018-11-12 22:57:06

标签: objective-c macos plugins authorization macos-mojave

我们有一个针对OSX的自定义授权插件,使用该插件作为我们的基础:

https://github.com/skycocker/NameAndPassword

,并在需要时参考官方文档:

https://developer.apple.com/documentation/security/authorization_plug-ins/using_authorization_plug-ins

该插件运行良好,直到Mojave发行。使用Mojave,我们的auth插件UI不会绘制,我们只会看到圆形的登录箭头按钮。登录的唯一方法是ssh进入计算机,卸载我们的auth插件,然后重新启用默认的OSX登录机制。

我们添加了其他日志记录,发现该插件确实已被加载并正常运行。只是UI不再显示。我的猜测是,他们已经更改了自定义身份验证插件的一些要求,但尚未更新文档。

有人对UI为什么不能在Mojave中显示有任何想法吗?

编辑: 一些更多的信息。我们发现我们可以浏览插件中的控件。这意味着控件实际上在那儿,但是不是在屏幕上还是只是没有被绘制?确实很奇怪...

编辑2: 我尝试构建NameAndPassword示例,它在Mojave中显示良好。此示例为接口使用了.nib,我无法在最新版本的xcode中进行编辑。因此,我尝试将接口重新创建为.xib,令人惊讶的是,NameAndPassword的UI现在也消失了!

因此,在编译.xib文件时,幕后可能会发生某些情况,这导致无法绘制UI,而基于.nib的界面则不会发生这种情况。

1 个答案:

答案 0 :(得分:-2)

您是否启用了此标志:self.window?.canBecomeVisibleWithoutLogin = true