2017-05-05 40 views
1

我设计了一个包含对触摸栏支持的应用程序。触摸栏是在Interface Builder中创建的。所有代码都使用Swift的#available检查来确保在10.12之前没有在macOS上执行触摸条形码。 的XIB(和应用程序)设置为部署到10.10,但是当我运行我的应用程序我还是得到这样的错误:将XB中的NSTouchBar应用程序部署到10.12之前的macOS

-[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSTouchBar)

我怎样才能确保解码XIB跳过在MacOS触摸条10.12之前?

回答

0

你有两种选择。

  1. 以编程方式创建UI。

  2. 为类名称注册虚拟类对。我不知道如何在Swift中实现这一点,但这里有一个Obj-C解决方案:How to use NSVisualEffectView backwards-compatible with OSX < 10.10?。该答案还提供了有关组件后续访问的一些额外注意事项。

+0

谢谢!我去选项2.似乎工作正常。 –

相关问题