无法实例化 class _TtC12STracker23InfoInterfaceController
Couldn't instantiate class _TtC12STracker23InfoInterfaceController
我尝试构建我的手表应用程序,但我一直收到错误消息
createViewController:className:properties:contextID:info:gestureDescriptions:
clientIdentifier:]:2916: Critical failure. Simulating crash: Condition failed:"NO".
Couldn't instantiate class _TtC12STracker23InfoInterfaceController
我不得不在某个时候重命名我的项目,根据我的研究,这可能是问题的原因。我从头开始重新创建了 Interface.storyboard 和 InfoInterfaceController 但它没有帮助。
所以我通过删除所有监视目标和文件并重新创建它们解决了问题
这不是解决此类问题的好方法,特别是当有人拥有更大的 WatchOS App 项目并且删除所有内容并重新创建是荒谬且耗时的时候。
首先按照 Luke West 的回答中的步骤检查您是否正确重命名了项目:
然后执行以下步骤:
转到位于 Xcode
左侧导航窗格的 interface.storyboard
select interfaceController 上面的黄色圆圈
- 转到它的身份检查器
- 在 class 部分,通过重新输入 class 名称并按回车键将 class 重新分配给该 interfaceController,Xcode 将自动更新其下的模块部分。 (您所有的问题都出在模块部分,其中模块仍然分配有旧名称)
- 对所有 interfaceController 和 customClasses(如果有的话)以及您之前为其分配 class 的所有内容执行相同的过程。
现在应用应该 运行 符合预期。
这是由于 Module 将指向 Watch App 而不是 Extension,因为这些所有文件都存在于 Extension Module 中,您可以直接更改 Watch StoryBoard 文件的模块 InterfaceController、NotificationController 以及任何默认创建的接口。
我尝试构建我的手表应用程序,但我一直收到错误消息
createViewController:className:properties:contextID:info:gestureDescriptions:
clientIdentifier:]:2916: Critical failure. Simulating crash: Condition failed:"NO".
Couldn't instantiate class _TtC12STracker23InfoInterfaceController
我不得不在某个时候重命名我的项目,根据我的研究,这可能是问题的原因。我从头开始重新创建了 Interface.storyboard 和 InfoInterfaceController 但它没有帮助。
所以我通过删除所有监视目标和文件并重新创建它们解决了问题
这不是解决此类问题的好方法,特别是当有人拥有更大的 WatchOS App 项目并且删除所有内容并重新创建是荒谬且耗时的时候。
首先按照 Luke West 的回答中的步骤检查您是否正确重命名了项目:
然后执行以下步骤:
转到位于 Xcode
左侧导航窗格的 interface.storyboard
select interfaceController 上面的黄色圆圈
- 转到它的身份检查器
- 在 class 部分,通过重新输入 class 名称并按回车键将 class 重新分配给该 interfaceController,Xcode 将自动更新其下的模块部分。 (您所有的问题都出在模块部分,其中模块仍然分配有旧名称)
- 对所有 interfaceController 和 customClasses(如果有的话)以及您之前为其分配 class 的所有内容执行相同的过程。
现在应用应该 运行 符合预期。
这是由于 Module 将指向 Watch App 而不是 Extension,因为这些所有文件都存在于 Extension Module 中,您可以直接更改 Watch StoryBoard 文件的模块 InterfaceController、NotificationController 以及任何默认创建的接口。