【问题标题】:Debug on real Apple Watch: Application Verification Failed在真正的 Apple Watch 上调试:应用程序验证失败
【发布时间】:2015-07-03 11:03:29
【问题描述】:

我今天尝试在真正的 Apple Watch 上调试我的 WatchKit 应用程序。在 Xcode 中点击 Debug 按钮后,iPhone 主应用程序已正确安装,但 Apple Watch 仅显示消息 Failed to install xxx, error: Application Verification Failed。 WatchKit 应用未安装。

我知道这一点:WatchKit App Rejected for "Failing to Install",但它没有帮助,因为我的 Xcode 项目文件没问题。

如何在真正的 Apple Watch 上进行调试?

【问题讨论】:

    标签: ios watchkit apple-watch


    【解决方案1】:

    基本上你需要执行两个步骤:

    • 将 Apple Watch 的 UDID 添加到开发者门户
    • 更新您的配置文件以支持手表

    XCode 可以为您管理整个过程:

    1.将应用部署到您的 iPhone/iPad

    2。也在你的 iPhone/iPad 上启动 WatchKit 应用程序(不在模拟器中)

    3.出现代码签名错误消息时选择修复问题

    4.选择您的开发团队,让 XCode 完成剩下的工作

    我也为此written a short tutorial

    【讨论】:

      【解决方案2】:

      您应该有每个 AppID。 例如,如果您的应用程序的包标识符是“com.xyz”,那么您需要三个 appid 和称为

      的配置文件
      1. com.xyz
      2. com.xyz.watchkitapp
      3. com.xyz.watchkitapp.watchkitextension

      为每个创建配置并分配给相关目标。

      这将解决此问题。确保您的 iphone 和 watch 的 UUID 必须添加到这些配置文件中。

      所有目标的版本也应该相同。

      【讨论】:

        【解决方案3】:

        不要忘记在 Xcode 的“设备”显示中向下滚动。 Xcode -> Window -> Devices -> 选择“NameOfiPhone”,然后在右侧的“Device Information”窗口中向下滚动。然后您将看到配对的设备。是的,我承认这一点:-)

        【讨论】:

          【解决方案4】:

          上面描述的 UDID 问题可能是罪魁祸首,但在我的例子中,这是由 Xcode 自动处理的。查看设备日志(菜单 Window>Devices)显示:

          companionappd[350] : 未能安装 WatchKit 应用程序,错误: (Error Domain=LaunchServicesError Code=0 "该操作无法 完全的。 (LaunchServicesError 错误 0。)“UserInfo=0x14e2f690 {错误=应用程序验证失败,错误详细信息=-402620394, ErrorDescription=验证代码签名失败:0xe8008016 (发现配置文件不允许的权利)})

          ...在构建过程中没有发现的问题,也没有在屏幕错误中明确与我分享。

          所以,我查看了权利:

          是的,我必须手动添加 beta-reports-active 才能提交到 TestFlight。

          如果您使用 TestFlight(以及除默认权利之外的任何其他内容),您似乎需要该标志,但如果您在本地调试,则需要拥有该标志。 p>

          因此,我对这个矛盾的解决方案是拥有两个权利文件,如下所示:

          到目前为止,一切都很好。 App 和 Watch Extension 正在按预期运行。

          【讨论】:

            【解决方案5】:

            事实证明,您还必须将 Apple Watch 的 UDID 添加到 Apple Developer Portal,并更新您的开发配置文件以包含此 UDID。

            UDID可以在Xcode的Devices窗口中获取。配对后,Apple Watch 的信息会自动显示在 iPhone 的信息下方。

            在撰写本文时,这似乎没有任何记录,Apple Watch 上的错误消息也不是特别有用。所以我希望这个试错课程能为您省去一些麻烦。

            【讨论】:

            • 当您说“配对后”时,我笑了,因为即使我的 Apple Watch 与我的 iphone 6 配对,xcode 也不认为它是。也许你可以帮我弄清楚为什么会这样,以及如何让 xcode 相信手表已经配对。同时,在 xcode 不相信手表已配对的情况下,还有另一种获取 UDID 的方法吗?
            • @DaveKliman 嗯,这很不幸.. 也许跟随最近的趋势,重新启动 iPhone,重新启动 Apple Watch,重新启动 Xcode 并重新启动 Mac? :P 我找不到在别处获取该字符串的方法,请注意“设置”>“常规”中有一个“SEID”,但这不是 Xcode 显示为“标识符”的内容。我使用了显示的“标识符”。如果您在 Portal 中还有一些空闲插槽,不妨试试 SEID?
            • 我重新启动了一切...我确实找到了 SEID...我在开发门户中添加了 Apple Watch 作为设备。但这似乎什么也没做......
            • @zavié 你如何动态设置通知框图标?有可能吗?
            • @iOSdev 我想你只能在 Storyboard 中设置它。不是在运行时以编程方式。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-07-19
            • 2015-10-22
            • 1970-01-01
            • 2020-04-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多