无法安装应用程序错误:无效的捆绑包 - 没有Apple Watch二进制文件

时间:2015-04-30 16:01:17

标签: ios apple-watch

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

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

  

AppName无法安装AppName,错误:无效的捆绑包 - 没有Apple Watch二进制文件

在我的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>

我错过了什么吗?

10 个答案:

答案 0 :(得分:16)

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

答案 1 :(得分:4)

我被这个错误困扰了好几个小时。对我来说,问题是我的WatchKit Extension的部署目标被设置为高于我的手机的iOS版本。我只是改变它以匹配我的设备的版本,它完美地工作。 enter image description here

答案 2 :(得分:3)

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

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

步骤:

  1. 找到您的iOS目标
  2. 点击Build Phases
  3. 确保您的观看应用(.app)包含在“目标依赖关系”和“嵌入观看内容”中

答案 3 :(得分:2)

尝试明确设置&#34;可执行文件&#34;在WatchKit应用程序的info.plist中。

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

答案 4 :(得分:1)

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

答案 5 :(得分:0)

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

Watch Extension Scheme构建     3目标:iPhone(2个依赖项)+扩展(无依赖项)+监视应用程序

Running Extension Scheme on iPhone simulator -> works!

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

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

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

答案 8 :(得分:0)

确保:

  • iOS app的捆绑ID是watch app&amp;的前缀。分机&#39;捆绑ID。
  • 您的观看应用的Info.plist中WKCompanionAppBundleIdentifier的值与您的iOS应用的捆绑ID相匹配。
  • iOS应用,观看应用&amp;延期应由同一证书签署。
  • iOS应用目标中必须有一个构建阶段:
    • 目的地:产品目录
    • 子路径:$(CONTENTS_FOLDER_PATH)/Watch
    • 点击+,添加您的观看应用目标。

答案 9 :(得分:0)

填写info.plist.Default中的Bundle Display名称为空,会有一个警告。(Xcode 7.3)

enter image description here