【问题标题】:WatchKit app wont run on simulatorWatchKit 应用程序无法在模拟器上运行
【发布时间】:2015-04-03 04:42:42
【问题描述】:

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.

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

【问题讨论】:

  • 这还没解决!
  • @Gabriel 检查答案 - 我回答了我自己的问题,因此得到了标题。这个错误似乎有不同的原因/解决方案,但公认的答案是专门为我解决的。

标签: ios xcode watchkit


【解决方案1】:

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

将扩展的 .m 文件重新添加到它的编译源中,错误就消失了。

非常具有误导性的错误消息。

【讨论】:

  • 我遇到了同样的错误。我每次都必须清理构建。有什么帮助吗?
  • 在执行此操作时请注意不要意外选择任何 .h 文件。会导致一组完全不同的错误,但万一您不小心这样做了,您现在就知道要查找什么了。
【解决方案2】:

这解决了我的问题:

  • 转到 WatchKit 扩展 |构建阶段 |复制捆绑资源
  • 点击+
  • 搜索产品文件夹并选择WatchKit App.app

之后清理并重建

【讨论】:

  • 我遇到了同样的错误。我每次都必须清理构建。有什么帮助吗?
  • 太棒了!这解决了我的问题。我刚刚删除并将其放回 WatchKit App.app 到“复制捆绑资源”并且它有效。 Info.plist "WKWatchKitApp" 设置为 YES。
【解决方案3】:

我有同样的问题。

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

所以每次我清理构建时,在第一次安装时它实际上可以工作,但在第二次安装时,我总是收到此错误。

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

将主应用的产品名称重命名为不同的名称,无论如何都解决了问题。

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

【讨论】:

    【解决方案4】:

    我不得不更改扩展程序和手表应用程序的编译器,可能是因为我将 Watchkit 应用程序添加到旧项目中。

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

    【讨论】:

    • 这修复了所有上述 cmets,而无需更改 .plist 中的任何内容
    • 您好,我在所有目标上都有默认编译器 6.6.1:项目、扩展、应用程序。还没修好
    【解决方案5】:

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

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

    【讨论】:

      【解决方案6】:

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

      我认为从我创建用于 Watch OS 1 的 watch-target 开始,它仍然存在。

      【讨论】:

      • 我在同一个问题上苦苦挣扎——试图与现有的应用程序集成——而这个解决方案是唯一有效的解决方案。至少我现在可以编译成功。感谢您的提示!
      【解决方案7】:

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

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

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

      1. 去你的目标。选择手表应用目标
      2. 转到构建设置。搜索产品名称
      3. 编辑您的产品名称,使其与应用目标不同!
      4. 清理和构建。应该管用。谢谢

      【讨论】:

      • 我不明白为什么这被否决了,其他人在一个连根拔起的答案中提到这是一个问题
      【解决方案8】:

      我发现在扩展源中它指向 WatchKitApp 的 Debug-iphoneos 位置,因此读取它可以解决问题

      【讨论】:

        【解决方案9】:

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

        【讨论】:

          猜你喜欢
          • 2015-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-10
          • 2012-01-04
          • 2015-05-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多