【问题标题】:Failed to install app error: Invalid Bundle - No Apple Watch Binary无法安装应用程序错误:无效的捆绑包 - 没有 Apple Watch 二进制文件
【发布时间】:2015-07-10 10:32:11
【问题描述】:

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

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

AppName 无法安装 AppName,错误: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>

我错过了什么吗?

【问题讨论】:

    标签: ios apple-watch


    【解决方案1】:

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

    【讨论】:

    • 此解决方案仅适用于我的 1 个项目。其他应用继续出现同样的错误
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      步骤:

      1. 找到您的 iOS 目标
      2. 点击构建阶段
      3. 确保您的手表应用 (.app) 包含在“目标依赖项”和“嵌入手表内容”中

      【讨论】:

      • 这是对我的修复,我之前已经从构建中删除了手表应用程序。
      【解决方案4】:

      尝试在 WatchKit 应用的 info.plist 中明确设置“可执行文件”。

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

      【讨论】:

      • 这是一个可能的解释。事实上,我在 2 个具有相同设置的项目上工作。一个用于测试watchkit框架,另一个项目是真实项目。我没有检查可执行文件。我会尽快尝试这个。谢谢
      • 您在哪里可以找到明确的“可执行文件”名称?我似乎对这个解决方案没有任何运气
      • 尝试使用 watchkit 的 plist 中的 + 添加它。它应该在您输入时自动完成(区分大小写:“可执行文件”)。
      • 附录:尽管克服了这个错误,但我仍然遇到安装问题。我的 watchkit 应用程序在 iPhone 手表应用程序中永远停留在“正在安装...”。我最终通过检查我的产品名称/捆绑包名称并确保它们都不相同来解决这些问题。
      • 我的意思是什么,如果你不使用 $(EXECUTABLE_NAME),你的可执行文件名是什么
      【解决方案5】:

      就我而言,这些解决方案都不适合我,但我注意到默认情况下,我的 WatchKit 应用需要 iOS 8.3,而我的手机运行的是 iOS 8.2。将操作系统更新到 8.3 解决了我的问题。这似乎是一个显而易见的解决方案,但我想我会分享给任何可以分享我的问题的人。

      【讨论】:

        【解决方案6】:

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

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

        Running Extension Scheme on iPhone simulator -> works!
        

        【讨论】:

          【解决方案7】:

          在我的情况下,这是一个 Info.plist 配置错误。 Bundle identifierNSExtension -&gt; NSExtensionAttributes -&gt; WKAppBundleIdentifier 不同。

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

          【讨论】:

            【解决方案8】:

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

            解决这个问题的另一个案例: 当我将我 iPhone 的 iPhone 语言更改为非英语(在我的情况下为俄语)语言时,会出现此错误。 当我回到英语时 - 一切都照常进行!

            【讨论】:

              【解决方案9】:

              确保:

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

              【讨论】:

                【解决方案10】:

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2015-07-19
                  • 2020-03-22
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-03-08
                  • 2015-12-20
                  • 2013-01-07
                  • 1970-01-01
                  相关资源
                  最近更新 更多