【问题标题】:Invalid WatchKit Support - The bundle contains an invalid implementation of WatchKit无效的 WatchKit 支持 - 捆绑包包含无效的 WatchKit 实现
【发布时间】:2015-04-21 18:40:40
【问题描述】:

我正在尝试将我的 Apple Watch 应用程序上传到 iTunes,每次我上传我的二进制文件时,我都会收到来自苹果团队的邮件。我已经完成了我的以下清单。

  • 为 watchapp 和扩展创建了单独的应用 ID 和配置文件。
  • 我拥有适用于 Apple Watch 和 iOS 应用的正确图片集。
  • 我的应用最初是使用 Xcode 6.2 SDK 构建的,现在我使用 6.3 SDK 提交。

不知道我在哪里做错了。任何有经验的人都可以在这里帮助我。

我们发现您最近交付的一个或多个问题 “XXXX”。要处理您的交货,必须解决以下问题 更正:

无效的 WatchKit 支持 - 捆绑包包含无效的 WatchKit 的实现。该应用程序可能已构建或签名 不合规或预发布工具。访问 developer.apple.com 了解更多信息 信息。

一旦这些问题得到纠正,您就可以重新交付 修正二进制。

【问题讨论】:

    标签: apple-watch


    【解决方案1】:

    对我来说,问题是我的 WatchKit 应用程序和我的 WatchKit 扩展的构建设置中的“IOS 部署目标”并不相同。我的扩展设置为 8.3,而我的 WatchKit App 设置为 8.2。一旦我将它们都设置为 8.2,错误就消失了,WatchKit 应用程序安装得很好。

    【讨论】:

      【解决方案2】:

      上传Apple Watch应用时,需要将Apple Watch扩展嵌入iOS应用的二进制文件中。但是,如果您习惯于删除派生数据,那么 xcode6 将删除该目标。当你将它提交给苹果时,它只会得到 ios 应用而不是苹果手表应用。

      在 Xcode 中添加嵌入式二进制文件失败 Xcode 不会链接框架形式的单独项目 由于缺少框架,应用程序在设备上崩溃,在模拟器中工作 概述

      在 xcode6 中删除“DerivedData”文件夹(或执行“Product > Clean”)后,我无法将另一个项目中的 CocoaTouch 框架添加到“嵌入式二进制”部分(在“常规”选项卡下)。

      或者,Xcode 遇到链接器错误,因为它找不到以前可以找到的框架。

      其他症状

      单击“Embedded Binaries”下的 + 会显示框架选择器,但在工作区的不同项目中选择框架没有任何作用。

      【讨论】:

        【解决方案3】:

        我也一直在为这个扯头发。这是我尝试过的:

        1. 我为应用程序、watchkit 扩展程序和 watchkit 应用程序生成了新的配置文件,并为每个应用程序使用了唯一的包标识符(com.example.app、com.example.app.watchkitextension 和 com.example.app。 watchkitapp) 和分发证书。在 Build Settings > Provisioning 中下载、安装并将每个目标设置为其自己的配置文件。尝试明确设置签名权限并将其自动设置。
        2. 当我显示存档的包内容时,我已确认 xcarchive 包含 WatchKitSupport 目录和 WK 文件
        3. 我已确保 WatchKit 扩展、WatchKit 应用和 IOS 应用都具有匹配的构建和版本号
        4. 我在应用程序、扩展程序和 watchkit 目标上运行了 Edit > Convert > To Latest Swift Syntax...(在我的情况下不需要更改源代码......)
        5. 我从头开始编译、清理、构建、归档、冲洗和重复,重新启动系统并再次循环。

        就我而言,这些都不起作用。希望其中之一对您有所帮助。如果有任何其他善良的灵魂在不秃顶的情况下解决了这个问题,分享头发,伙计,分享头发。

        【讨论】:

        • 您是否尝试过我上面的答案,因为这是唯一可以解决此问题的方法,如果您需要我上面的答案的任何详细信息,请告诉我。
        • 抱歉,Gaurav,我理解您对“在 Xcode 中添加嵌入式二进制文件失败”的回答,但之后什么都没有......我确实尝试在配套应用程序中嵌入 Watchkit 扩展,但我收到一个错误“错误:WatchKit Extension 不包含任何 WatchKit 应用程序。验证 WatchKit 应用程序的 Info.plist 中 WKWatchKitApp 的值是否设置为 YES。”我确实验证了它,它设置为 YES。
        • 是的,这只是我仍然遇到的一个随机错误,我通过设置配置文件和清理 xcode 两种方式解决了这个问题。
        • 我基本上在 6.3.1 中将我的应用程序重新构建为一个新项目并成功提交。构建有几个不同之处,但一个明显的区别确实是 Watchkit 扩展在成功构建的配套应用程序中显示为嵌入式二进制文件。我也设置了我的配置文件并进行了清理,但无法嵌入该二进制文件。在一个新项目中重建是我绝望的举动,但最终奏效了。
        猜你喜欢
        • 1970-01-01
        • 2019-02-17
        • 1970-01-01
        • 1970-01-01
        • 2016-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-29
        相关资源
        最近更新 更多