相关疑难解决方法(0)

WatchKit:无法找到接口控制器类

我尝试将一个接口控制器添加到故事板,将其Custom Class设置为WKInterfaceController子类,在模拟器中启动应用程序并导航到指定的接口控制器.

当我这样做时,我收到以下错误:

WatchKit错误 - 无法找到接口控制器类'TestController'来实例化

如果我尝试与控制器交互(例如尝试启动其按钮的操作),我会收到以下错误:

  • ***********ERROR - [SPRemoteInterface _interfaceControllerClientIDForControllerID:] interfaceControllerID的clientIdentifier :( null)未找到
  • ***********ERROR - [SPRemoteInterface _interfaceControllerClientIDForControllerID:] clientControllerID的clientIdentifier:找不到7120004

我尝试按照此答案的建议设置模块名称,但这仍然给我以下错误:

  • WatchKit错误 - 无法找到接口控制器类'_TtC29myWatchApp_WatchKit_App19TestController'来实例化
  • ***********ERROR - [SPRemoteInterface _interfaceControllerClientIDForControllerID:] interfaceControllerID的clientIdentifier :( null)未找到
  • ***********ERROR - [SPRemoteInterface _interfaceControllerClientIDForControllerID:] interfaceControllerID的clientIdentifier:找不到6E20004

storyboard ios watchkit

28
推荐指数
4
解决办法
2万
查看次数

WatchKit reloadRootControllersWithNames导致错误,使用pageController或push/pop之后

我有一个基本的watchkit应用程序,可以加载基于页面的3个界面控制器导航.这很好用,但我想触发一个动作来删除页面控件,并基本上恢复到应用程序第一次加载时出现的原始InterfaceController.

// load page based control, with 3 views.  this works ok
[WKInterfaceController reloadRootControllersWithNames:@[@"pageController1",@"pageController2",@"pageController3"] 
                       contexts:@[@"data1",@"data2",@"data3"]];

// attempt to reload original interface controller, identified by storyboard id
[WKInterfaceController reloadRootControllersWithNames:@[@"myInterfaceController"] contexts:@[@{}]];
Run Code Online (Sandbox Code Playgroud)

基于页面的导航删除,原始导航在短微调器后加载.但是它无法正常运行,原始操作会导致此错误.

Extension[6766:123665] *********** ERROR 
-[SPRemoteInterface _interfaceControllerClientIDForControllerID:] clientIdentifier for interfaceControllerID:(null) not found
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来干净地重新加载原始的InterfaceController?

编辑,2/19

似乎还有一些其他操作也会导致此错误.例如,如果segue到第二个InterfaceController然后popController返回,则经常出现错误.它始终与此函数的辅助调用相关.

[WKInterfaceController reloadRootControllersWithNames: contexts:]
Run Code Online (Sandbox Code Playgroud)

EDIT2,3/18

如前所述,通过执行seguePush,popController,然后尝试reloadRootControllersWithNames,这可以100%重现.

如果事先没有完成seguePush/popController,那么reloadRootControllersWithNames将正常工作.

这种情况似乎是这个bug的多个>单个多实例的补充.

ios watchkit

8
推荐指数
1
解决办法
8692
查看次数

无法找到接口控制器类'InterfaceController'来实例化

我每次运行项目时都会收到此错误,并尝试导航到另一个屏幕.

Unable to find interface controller class 'HelpInterfaceController' to instantiate
Run Code Online (Sandbox Code Playgroud)

我正在使用我所知道的正确
- (IBAction)HelpButton { [self presentControllerWithName:@"help" context:nil]; }
名称:名称help也与标识符中的名称相同.那么我出错了什么或哪里?

objective-c ios apple-watch

5
推荐指数
1
解决办法
2715
查看次数

无法实例化类 _TtC12STracker23InfoInterfaceController

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

createViewController:className:properties:contextID:info:gestureDescriptions:
clientIdentifier:]:2916: Critical failure. Simulating crash: Condition failed:"NO". 
Couldn't instantiate class _TtC12STracker23InfoInterfaceController
Run Code Online (Sandbox Code Playgroud)

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

swift watchos

1
推荐指数
1
解决办法
1033
查看次数

标签 统计

ios ×3

watchkit ×2

apple-watch ×1

objective-c ×1

storyboard ×1

swift ×1

watchos ×1