每当我在我的子类中建立任何连接时,WKIInterfaceController我都会WatchKit error - unable to find interface controller class 'myClass' to instantiate在模拟器中显示错误和活动指示器,并且视图不会加载.断开所有连接并正确显示视图但仍然出现错误
试着
无法找到接口控制器类'InterfaceController'来实例化
WatchKit reloadRootControllersWithNames导致错误,使用pageController或push/pop之后
两个链接提示一个错误,如果它是一个错误,这肯定不会出现在XCode的发布版本上,并且每个人都会遇到相同的行为呈现watcKit几乎没用?
我有一个基本的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的多个>单个多实例的补充.
我每次运行项目时都会收到此错误,并尝试导航到另一个屏幕.
Unable to find interface controller class 'HelpInterfaceController' to instantiate
Run Code Online (Sandbox Code Playgroud)
我正在使用我所知道的正确
- (IBAction)HelpButton {
[self presentControllerWithName:@"help" context:nil]; }
名称:名称help也与标识符中的名称相同.那么我出错了什么或哪里?