Failed to install app error: Invalid Bundle - No Apple Watch Binary

Failed to install app error: Invalid Bundle - No Apple Watch Binary

我正在尝试为 Apple Watch 开发我的应用程序的扩展。

我没有在手表上安装应用程序,而是出现此错误:

AppName Failed to install AppName, error: Invalid Bundle - No Apple Watch Binary

在我的 info.plist 个文件中...

对于扩展,我有:

<key>CFBundleIdentifier</key>
    <string>com.mycompany.AppName.watchkitextension</string>
<key>WKAppBundleIdentifier</key>
    <string>com.mycompany.AppName.watchkitapp</string>

对于 WatchKit 应用程序,我有:

<key>CFBundleIdentifier</key
    <string>com.mycompany.AppName.watchkitapp</string>
<key>WKCompanionAppBundleIdentifier</key>
    <string>com.mycompany.AppName</string>

对于我的应用程序,我有:

<key>CFBundleIdentifier</key>
    <string>com.mycompany.AppName</string>

我是不是漏掉了什么?

尝试在 WatchKit 应用的 info.plist 中明确设置 "Executable file"。

我更改了可执行文件的名称,但遇到了同样的问题。

这个错误困扰了我大约 7 个小时,然后我绝望地重新启动手表,错误消失了。

就我而言,none 这些解决方案对我有用,但我注意到默认情况下,我的 WatchKit 应用需要 iOS 8.3,而我的 phone 是 运行 iOS 8.2。将 OS 更新到 8.3 解决了我的问题。这似乎是一个显而易见的解决方案,但我想我会分享给任何可以分享我的问题的人。

我被这个错误困扰了几个小时。对我来说,问题是我的 WatchKit 扩展的部署目标设置为 iOS 版本高于我的 phone。我只是将其更改为与我的设备版本相匹配,并且效果很好。

就我而言,我是在为 WatchOS2 构建应用程序时得到的。我通过设置这样的方案来修复:

手表扩展方案构建 3 目标:iPhone(2 个依赖项)+ 扩展(无依赖项)+ Watch App

Running Extension Scheme on iPhone simulator -> works!

在我的例子中,这是一个 Info.plist 配置错误。 Bundle identifierNSExtension -> NSExtensionAttributes -> WKAppBundleIdentifier 不同。

设置相同的值修复了错误。

对我来说,通过将手表应用程序添加到我的 iOS 目标的嵌入手表内容部分,问题得到了解决。

我正在使用 Xcode 7 和 watchOS 2.0。它在设备上构建良好,但模拟器给我这个错误。

步骤:

  1. 找到你的iOS目标
  2. 点击构建阶段
  3. 确保您的手表应用 (.app) 包含在 "Target Dependencies" 和 "Embed Watch Content"

重置 watch/xcode/iphone 有时无济于事,如其他答案中所述。

还有一个案例可以解决这个问题: 当我 将 iPhone 的 iPhone 语言更改为非英语(在我的情况下为俄语)时,会出现此错误。 当我退回英语时 - 一切照常开始!

确保:

  • iOS 应用的包 ID 是手表应用和扩展程序包 ID 的 prefix
  • 您的手表应用 Info.plist 中 WKCompanionAppBundleIdentifier 的值与您的 iOS 应用的捆绑 ID 相匹配。
  • iOS 应用程序、手表应用程序和扩展程序应由同一证书签名。
  • iOS 应用程序目标中必须有一个构建阶段:
    • 目的地:产品目录
    • 子路径:$(CONTENTS_FOLDER_PATH)/Watch
    • 点击+,添加您的手表应用目标。

在info.plist.Default中填写Bundle Display name为空,会有提示。(Xcode 7.3)