WatchKit应用程序不会在模拟器上运行

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.

我不断得到这个错误,不知道为什么在这里search所有其他的问题后,永远把这个弄清楚。

解决scheme非常简单。 后来我删除了一些文件,并将它们重新添加到扩展中,但是它们没有被添加回编译源代码。

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

非常误导性的错误信息。

这解决了我的问题:

  • 去WatchKit扩展| build立阶段| 复制软件包资源
  • 点击+
  • search产品文件夹,然后selectWatchKit App.app

之后清理和重build

我遇到过同样的问题。

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

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

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

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

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

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

转到扩展和观看应用程序的生成设置“C / C ++ / Objective-C编译器”,并确保它是“默认编译器”。

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

我发现WatchKit Extension plist中的值需要更新。 对这个“WKAppBundleIdentifier”进行全局search,然后使其与WatchKit应用程序的包ID相匹配。 这为我解决了这个错误。

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

删除二进制后应该看起来像这样

从我创buildwatch-target的时候,我认为这仍然在那里。

经过数周和数周的调查,我终于发现了这个问题。

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

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

  1. 去你的目标。 select手表应用程序目标
  2. 去build立设置。 search产品名称
  3. 编辑您的产品名称是不同于应用程序目标!
  4. 清洁和build设。 应该pipe用。 谢谢

我发现,在扩展来源,它指向WatchKitApp的Debug-iphoneos位置,所以读它解决了这个问题

我最近遇到这个错误,花了好几个小时试图摆脱它,似乎我终于pipe理。 在这里阅读有关解决scheme: https : //blogofpuneet.wordpress.com/