2015-04-03 62 views
11

error: WatchKit Extension doesn't contain any WatchKit apps. Verify that the value of WKWatchKitApp in your WatchKit App's Info.plist is set to YES.WatchKit应用在模拟器

不会运行我一直得到这个错误,不知道为什么在这里查找所有其他问题后,采取了永远摸不着头脑。

+0

这是还没解析! – Gabriel 2015-05-07 10:44:45

+0

@Gabriel检查答案 - 我回答了我自己的问题,因此标题。这个错误似乎有不同的原因/解决方案,但接受的答案是专门为我解决这个问题的答案。 – ZachNag 2015-06-03 19:36:52

回答

11

解决方案非常简单。前一段时间,我删除了一些文件并将它们重新添加到扩展中,但它们没有被添加回编译源文件。

将exention的.m文件添加回它的编译源中,错误消失。

非常令人误解的错误信息。

+0

我得到了同样的错误。我必须每次清理构建。请帮忙吗? – Gabriel 2015-04-11 20:19:37

+0

注意不要在执行此操作时意外选择任何.h文件。导致完全不同的错误集合,但如果您不小心做到这一点,您现在就会知道要查找什么。 – 2016-03-03 00:17:06

6

这解决了这个问题对我来说:

  • 转到WatchKit推广|建立阶段|复制包资源
  • 点击+
  • 搜索产品文件夹并选择WatchKit App.app

事后清洁和重建

+0

我得到了同样的错误。我必须每次清理构建。请帮忙吗? – Gabriel 2015-04-16 15:14:28

+0

太棒了!这解决了我的问题。我刚刚删除并将WatchKit App.app恢复到“复制捆绑软件资源”,并且它工作正常。 Info.plist“WKWatchKitApp”被设置为YES。 – loretoparisi 2015-09-19 17:33:48

4

我有同样的问题。

我的问题是,通过重命名目标,我最终得到了与主应用程序和Watchkit应用程序相同的产品名称,导致在构建时覆盖了自己。

因此,每次我清理构建,在第一次安装它实际上工作,但在第二个我alwas得到这个错误。

当我意识到问题时,我还发现重命名WatchKit应用的产品名称并未解决问题,因为XCode并没有真正更新对WatchKit扩展目标的所有引用,也许稍后会有修复。 (目前我正在使用XCode 6.3.1)

将主应用程序的产品名称重命名为不同的名称,修正了问题。

之后清理和重建,再也没有这个问题。

+1

嗨阿莱西奥,耶稣我发现你回答后我发布我的2分钟后... – Gabriel 2015-05-07 11:05:33

3

我不得不更改编译器的扩展&观看应用程序,可能是因为我添加了Watchkit应用程序到旧项目。

转到扩展和手表应用的构建设置“C/C++/Objective-C的编译器”,并确保它是“Default Compiler”。

+0

这修复了上述所有意见,而无需更改任何.plist – TouchMint 2015-04-26 01:25:28

+0

您好,我有默认编译器6.6.1所有目标:项目,扩展,应用程序。仍然不固定 – Gabriel 2015-05-07 10:46:39

0

经过数周和数周的调查,我终于找到了问题所在。

Iphone App的产品名称与Watch App的产品名称相同。

一旦我改变了它的工作的WatchApp的产品名称。

  1. 转到您的目标。选择手表应用程序目标
  2. 去建立设置。搜索产品名称
  3. 将您的产品名称编辑为与App目标不同!
  4. 清洁和生成。应该管用。谢谢
+0

我不明白为什么这是投下来的,有人提到这是一个连根拔起的答案中的问题 – Lewis42 2016-11-02 07:10:08

2

我已经改变了自动生成的捆绑ID,然后命中相同的错误。

我发现WatchKit Extension plist中的值需要更新。对此“WKAppBundleIdentifier”进行全局搜索,然后使其与WatchKit应用的捆绑ID匹配。这为我解决了错误。

2

我可以通过从主应用程序的“常规设置”中的“嵌入式二进制文件”中删除扩展的二进制文件来修复此错误。

It should look like this after removing the binary

我认为仍然在那里从时间我创建的监视目标,这对于观看OS 1.

+0

我一直在努力解决同一个问题 - 试图与现有的应用程序集成 - 这个解决方案是只有一个工作。至少我现在可以成功编译。谢谢你的提示! – jamey 2015-09-29 00:22:50

0

我发现,在扩展它的来源是指向调试-的iPhoneOS WatchKitApp的位置,所以读取它可以解决问题