WatchKit 应用程序不会 运行 在模拟器上
WatchKit app wont run on simulator
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.
我一直收到这个错误,不知道为什么在搜索了所有其他问题后,花了很长时间才弄明白。
解决方案非常简单。前一段时间我删除了一些文件并将它们重新添加到扩展中,但它们并没有被添加回编译源。
将扩展的 .m 文件添加回其编译源,错误消失了。
非常具有误导性的错误信息。
这解决了我的问题:
- 转到 WatchKit 扩展 |构建阶段 |复制捆绑资源
- 点击 +
- 搜索产品文件夹并选择 WatchKit App.app
之后清理并重建
我遇到了同样的问题。
我的问题是,通过重命名目标,我最终得到了主应用程序和 Watchkit 应用程序的相同产品名称,导致在构建时覆盖了它们自己。
所以每次我清理构建时,在第一次安装时它实际上工作正常,但在第二次安装时我总是遇到这个错误。
当我意识到这个问题时,我还发现重命名 WatchKit 应用程序的产品名称并没有解决问题,因为 XCode 并没有真正更新对 WatchKit 扩展目标的所有引用,也许会有稍后对此进行修复。 (目前我正在使用 XCode 6.3.1)
将主应用程序的产品名称重命名为其他名称,无论如何都解决了问题。
之后清理并重建,再也没有出现过该问题。
我必须更改扩展程序和 watch 应用程序的编译器,可能是因为我将 Watchkit 应用程序添加到旧项目。
转到扩展程序的构建设置 "Compiler for C/C++/Objective-C" 并观看应用程序,并确保它是 "Default Compiler"。
我最近遇到了这个错误,在花了很多时间试图摆脱它之后,我似乎终于成功了。
在此处阅读解决方案:
https://blogofpuneet.wordpress.com/
经过数周又数周的调查,我终于找到了问题所在。
IphoneApp的产品名称与Watch App的产品名称相同
一旦我更改了 WatchApp 的产品名称,它就起作用了。
- 去你的目标。 Select 手表应用目标
- 转到构建设置。搜索产品名称
- 将您的产品名称编辑为不同于 App Target!
- 清理并构建。应该管用。谢谢
我更改了自动生成的 Bundle ID,然后遇到了同样的错误。
我发现 WatchKit Extension plist 中的值需要更新。对此 "WKAppBundleIdentifier" 进行全局搜索,然后使其与您的 WatchKit 应用程序的 bundle id 相匹配。这为我修复了错误。
我能够通过从主应用程序的 "General Settings".
中的 "Embedded Binaries" 中删除扩展的二进制文件来修复此错误
我认为自从我创建 watch-target 以来,它仍然存在于 Watch OS 1.
我发现在扩展源中它指向 WatchKitApp 的 Debug-iphoneos 位置所以读取它解决了问题
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.
我一直收到这个错误,不知道为什么在搜索了所有其他问题后,花了很长时间才弄明白。
解决方案非常简单。前一段时间我删除了一些文件并将它们重新添加到扩展中,但它们并没有被添加回编译源。
将扩展的 .m 文件添加回其编译源,错误消失了。
非常具有误导性的错误信息。
这解决了我的问题:
- 转到 WatchKit 扩展 |构建阶段 |复制捆绑资源
- 点击 +
- 搜索产品文件夹并选择 WatchKit App.app
之后清理并重建
我遇到了同样的问题。
我的问题是,通过重命名目标,我最终得到了主应用程序和 Watchkit 应用程序的相同产品名称,导致在构建时覆盖了它们自己。
所以每次我清理构建时,在第一次安装时它实际上工作正常,但在第二次安装时我总是遇到这个错误。
当我意识到这个问题时,我还发现重命名 WatchKit 应用程序的产品名称并没有解决问题,因为 XCode 并没有真正更新对 WatchKit 扩展目标的所有引用,也许会有稍后对此进行修复。 (目前我正在使用 XCode 6.3.1)
将主应用程序的产品名称重命名为其他名称,无论如何都解决了问题。
之后清理并重建,再也没有出现过该问题。
我必须更改扩展程序和 watch 应用程序的编译器,可能是因为我将 Watchkit 应用程序添加到旧项目。
转到扩展程序的构建设置 "Compiler for C/C++/Objective-C" 并观看应用程序,并确保它是 "Default Compiler"。
我最近遇到了这个错误,在花了很多时间试图摆脱它之后,我似乎终于成功了。 在此处阅读解决方案: https://blogofpuneet.wordpress.com/
经过数周又数周的调查,我终于找到了问题所在。
IphoneApp的产品名称与Watch App的产品名称相同
一旦我更改了 WatchApp 的产品名称,它就起作用了。
- 去你的目标。 Select 手表应用目标
- 转到构建设置。搜索产品名称
- 将您的产品名称编辑为不同于 App Target!
- 清理并构建。应该管用。谢谢
我更改了自动生成的 Bundle ID,然后遇到了同样的错误。
我发现 WatchKit Extension plist 中的值需要更新。对此 "WKAppBundleIdentifier" 进行全局搜索,然后使其与您的 WatchKit 应用程序的 bundle id 相匹配。这为我修复了错误。
我能够通过从主应用程序的 "General Settings".
中的 "Embedded Binaries" 中删除扩展的二进制文件来修复此错误我认为自从我创建 watch-target 以来,它仍然存在于 Watch OS 1.
我发现在扩展源中它指向 WatchKitApp 的 Debug-iphoneos 位置所以读取它解决了问题