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

时间:2015-04-03 04:42:42

标签: ios xcode 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.

我一直收到这个错误,不知道为什么在这里搜索了所有其他问题之后,花了很长时间才弄清楚这一点。

9 个答案:

答案 0 :(得分:11)

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

将exention的.m文件添加回其编译源,错误就消失了。

非常误导性的错误消息。

答案 1 :(得分:6)

这解决了我的问题:

  • 转到WatchKit Extension |建立阶段|复制捆绑资源
  • 点击+
  • 搜索products文件夹并选择WatchKit App.app

之后清理并重建

答案 2 :(得分:4)

我有同样的问题。

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

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

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

将主应用的产品名称重命名为其他名称,无论如何都要解决问题。

之后清理并重建,再也没遇到过这个问题。

答案 3 :(得分:3)

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

转到Build Settings" Compiler for C / C ++ / Objective-C"扩展和观看应用程序,并确保它"默认编译器"。

答案 4 :(得分:2)

我更改了自动生成的Bundle ID,然后遇到了同样的错误。

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

答案 5 :(得分:2)

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

It should look like this after removing the binary

我认为自从我创建Watch-target时,它仍然在那里,这是Watch OS 1。

答案 6 :(得分:0)

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

Iphone应用程序的产品名称与Watch App的产品名称相同。

一旦我更改了WatchApp的产品名称,就可以了。

  1. 转到你的目标。选择观看应用目标
  2. 去构建设置。搜索产品名称
  3. 将您的产品名称编辑为与App Target不同!
  4. 清洁和建造。应该管用。感谢

答案 7 :(得分:0)

我发现在扩展源中它指向WatchKitApp的Debug-iphoneos位置,因此读取它修复了问题

答案 8 :(得分:-1)

我最近遇到了这个错误,花了很多时间试图逃脱它,似乎我终于成功了。 在这里阅读解决方案: https://blogofpuneet.wordpress.com/