如何运行WatchKit应用程序

时间:2014-11-20 06:58:40

标签: objective-c watchkit

我无法从新项目运行watchkit应用程序。如果我运行Apple的示例项目,它运行正常。如果我通过添加watchkit的目标将watchkit添加到我现有的项目中。然后运行它我得到一个黑色的屏幕与时间,即使在我的故事板我有一个接口控制器设置为主蓝色背景。这行代码被调用。

- (void)willActivate {
    // This method is called when watch view controller is about to be visible to user
            [self.listTable setNumberOfRows:5 withRowType:@"List"];
    NSLog(@"%@ will activate", self);
}

iPhone的主应用程序(iPhone应用程序)无法在模拟器上运行。

这基本上就是我看到的。

Apple Watch Simulator black screen with time label in upper right corner

6 个答案:

答案 0 :(得分:11)

运行时,您是否将计划更改为WatchKit App目标? 或者你刚刚建立&像往常一样运行iOS应用程序? 目前,您无法同时运行iOS应用目标和Watch App目标。

您必须切换此处所示的方案/目标,然后选择相同的模拟器和放大器。显示您已经完成的手表用户界面(在模拟器中>"硬件"标签 - >外部显示器 - > Apple Watch):

XCode screenshot of scheme dropdown

您还必须添加/编辑方案才能查看故事板的Glance或Notification部分。 请参阅"自述文件" Lister项目示例中的文件以获取更多详细信息。

答案 1 :(得分:4)

我有类似的问题。以下是您可以尝试的一些事情(为我解决)

  • 确保app,watchkitapp和watchkitextension具有相同的包ID,例如app的com.company.app和watchkit app的com.company.app.watchapp。我有几个具有不同捆绑ID的构建配置,因此xcode在创建监视目标时采用了错误的配置。如果应用程序和扩展程序不同,您将收到编译器错误,但watchapp bundle id不会产生错误。
  • 首次运行该应用程序,在外部设备菜单中打开手表之前,将会点击所有断点和日志,但在打开手表模拟器后您将看不到任何内容。
  • 有几次这个应用程序在发布时遇到了困难 - 在调试导航器中,状态是“等待附加”。之后每次都必须重置模拟器。

希望它有所帮助。

答案 2 :(得分:3)

这可能不是你的问题,但它是我的。

如果在监视应用程序中包含一个表,则需要在InterfaceController中实现这些方法,以便显示任何内容。您不能只是放入一个表,然后在第一行中放置一个标签,然后让它显示出来(就像使用静态UITableViewController一样)。

按照本指南添加表格:https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/Tables.html#//apple_ref/doc/uid/TP40014969-CH14-SW1

答案 3 :(得分:0)

哦,伙计。这个真让我难过。我正在研究Beta 1中的某些东西,并且有一个表行,它是WKInterfaceController的子类。在Beta 5中,我看到的是同一个空白表视图,并在调用

[self.interfaceTable rowControllerAtIndex:x]

它回来了。

解决方案:将我的行切换为NSObject的子类,它工作正常!

答案 4 :(得分:0)

  1. 通过转到产品更改方案 - >方案 - > (选择watchkit app target scheme)。
  2. 然后,转到产品 - >方案 - >编辑方案并选择运行
  3. 将可执行文件更改为watchkit App
  4. 构建并运行代码。

答案 5 :(得分:0)

只需将方案更改为AppName WatchKit App并构建。