Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c OSX自定义授权插件因升级到Mojave而中断_Objective C_Macos_Plugins_Authorization_Macos Mojave - Fatal编程技术网

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

Objective c OSX自定义授权插件因升级到Mojave而中断,objective-c,macos,plugins,authorization,macos-mojave,Objective C,Macos,Plugins,Authorization,Macos Mojave,我们有一个针对OSX的自定义授权插件,使用它作为基础编写: 并在需要时参考官方文件: 在Mojave发布之前,该插件一直工作正常。使用Mojave,我们的auth插件UI不会绘制,我们只看到圆形登录箭头按钮。登录的唯一方法是ssh到机器中,卸载auth插件并重新启用默认的OSX登录机制 我们添加了额外的日志记录,发现插件确实正在加载并正常运行。只是UI不再显示了。我的猜测是,他们已经更改了自定义身份验证插件的一些要求,但没有更新文档 有人知道为什么UI可能没有在Mojave中显示吗 编辑: 更多

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

并在需要时参考官方文件:

在Mojave发布之前,该插件一直工作正常。使用Mojave,我们的auth插件UI不会绘制,我们只看到圆形登录箭头按钮。登录的唯一方法是ssh到机器中,卸载auth插件并重新启用默认的OSX登录机制

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

有人知道为什么UI可能没有在Mojave中显示吗

编辑: 更多信息。我们已经发现,我们能够通过标签的控制,是我们的插件的一部分。这意味着控件实际上在那里,但不是在屏幕外,就是没有被绘制?真的很奇怪

编辑2: 我尝试构建NameAndPassword示例,它在Mojave中显示良好。这个示例使用了一个.nib作为接口,我无法在最新版本的xcode中编辑它。因此,我尝试将界面重新创建为.xib,令人惊讶的是,名称和密码的UI现在也消失了


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

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

在Mojave上对我很好。我在登录视图中有一个自定义按钮,它显示并捕获单击事件fine。我在虚拟机上试过,但不认为在真正的硬件上会有什么不同。顺便说一句,我在Mojave的干净安装上进行了测试,而不是在macOS的早期版本上进行升级。你有没有找到解决方案?我遇到了完全相同的问题,观察到了您在EDIT和EDIT2中提到的相同内容。我们确实找到了解决方案,但没有给出解释。我所做的只是调整窗口的大小,使它变小,突然所有的东西都出现了。我还没有弄明白或读到任何尺寸限制,但无论如何,这就是它对我们有用的原因。@ChrisGiles谢谢!我根据您的发现做了一些测试,发现我的designable.nib的宽度需要小于大约395才能正确渲染。否则,它将不会显示。我发现窗户的高度没有限制。请不要将其他问题作为回答,而是作为评论。