无法实例化类 _TtC12STracker23InfoInterfaceController

Posted

技术标签:

【中文标题】无法实例化类 _TtC12STracker23InfoInterfaceController【英文标题】:Couldn't instantiate class _TtC12STracker23InfoInterfaceController 【发布时间】:2019-06-03 12:54:16 【问题描述】:

我尝试构建我的手表应用程序,但我不断收到错误

createViewController:className:properties:contextID:info:gestureDescriptions:
clientIdentifier:]:2916: Critical failure. Simulating crash: Condition failed:"NO". 
Couldn't instantiate class _TtC12STracker23InfoInterfaceController

我不得不在某个时候重命名我的项目,根据我的研究,这可能是问题的原因。我从头开始重新创建了 Interface.storyboard 和 InfoInterfaceController 但它没有帮助。

【问题讨论】:

【参考方案1】:

这不是解决此类问题的好方法,特别是当某人拥有更大的 WatchOS 应用程序项目并且删除所有并重新创建是荒谬且耗时的。

首先检查您是否按照 Luke West 的回答中的步骤正确重命名了您的项目:https://***.com/a/35500038/7345611

然后执行以下步骤:

    转到位于 Xcode 左侧导航窗格的 interface.storyboard

    选择 interfaceController 顶部的黄色圆圈

    去找它的身份检查员 在类部分中,通过重新输入类名称并按 Enter 键将您的类重新分配给该 interfaceController,Xcode 将自动更新其下的模块部分。 (您的所有问题都在 Module 部分,其中 Module 仍然分配有旧名称) 对所有 interfaceControllers 和 customClasses(如果有的话)以及您之前为其分配类的所有内容执行相同的过程。

现在应用应该按预期运行。

【讨论】:

谢谢,在我重命名项目后收到类似错误消息后为我工作。 问题出在模块名称上。修复它的最简单方法是重新输入控制器名称,这应该可以工作。【参考方案2】:

这是由于 Module 指向 Watch App 而不是 Extension,因为这些文件都存在于 Extension Module 中,您可以直接更改 Watch StoryBoard 文件 InterfaceController、NotificationController 的 Module 以及是否有任何默认创建的接口。

【讨论】:

【参考方案3】:

所以我通过删除所有监视目标和文件并重新创建它们来解决问题

【讨论】:

以上是关于无法实例化类 _TtC12STracker23InfoInterfaceController的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Hibernate createQuery 实例化类

Python 在类定义中实例化类

实例化类的 Python3 问题

无法在以前工作的脚本上实例化类

Android IntentService 无法实例化类;没有空的构造函数

python如何用字符串实例化类