ios - NSSecureCoding 在简单地创建 SCNNode 时抛出
问题描述
我正在尝试从我的 .scn(最初是我转换为 .scn 的 DAE 文件)创建一个 SCNNode,当我这样做时,控制台会生成以下内容:
[general] NSSecureCoding allowed classes list contains [NSObject class],
which bypasses security by allowing any Objective-C class to be implicitly
decoded. Consider reducing the scope of allowed classes during decoding by
listing only the classes you expect to decode, or a more specific base class
than NSObject.
这是导致抛出的代码:
if let usrScene = SCNScene(named: "Test.scnassets/Models/player.scn") {
usr = usrScene.rootNode.childNode(withName: "root", recursively: true)!
}
场景图如下:root->player
我怎样才能删除投掷(或者我应该)?用外行的话来说是什么意思?
解决方案
对于那些有同样问题的人:
我从来没有弄清楚 throw 是什么意思,但我确实设法用以下代码摆脱了它:
extension SCNNode {
convenience init?(daePath: String) {
self.init()
guard let scene = SCNScene(named: daePath) else {
return
}
for childNode in scene.rootNode.childNodes {
addChildNode(childNode)
}
}
}
然后像这样导入...
usr = SCNNode(daePath: "Test.scnassets/Models/player.dae")
推荐阅读
- rhel - Podman pod 几天后消失,但进程仍在运行并在给定端口上侦听
- vba - Outlook/VBA - 在主题中查找 UID 并在邮件项目中运行 UID 搜索
- python - 如何通知用户正在使用缓存?
- javascript - LocalStorage 问题 - 未正确创建密钥 - 返回 null
- javascript - 如何从画布元素中仅删除一条路径
- r - 如何使用 R 中的 for 循环保存具有不同名称的文件?
- excel - 托管使用 Excel 电子表格进行实施的 Web 服务
- json - 在 Unix 中替换文件中的字符串 - 替换匹配正则表达式的部分
- reporting-services - 如何摆脱分组字段的空格?
- audio - 将 EQ 应用于音频输入并监控音频输出?