我设计的应用程序包括对触控条的支持。触摸栏在Interface Builder中创建。所有代码都使用Swift的#available检查来确保在10.12之前没有在macOS上执行触摸条代码。 XIB(和应用程序)设置为部署到10.10,但是当我运行我的应用程序时,我仍然会收到如下错误:
-[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSTouchBar)
如何确保解码XIB在10.12之前跳过macOS上的触控条?
答案 0 :(得分:0)
你有两个选择。
以编程方式创建UI。
为类名注册虚拟类对。我不确定如何在Swift中实现这一点,但这里有一个Obj-C解决方案:How to use NSVisualEffectView backwards-compatible with OSX < 10.10?。该答案还对后续访问组件提供了一些额外的警告。