26

在向 Xcode 项目添加扩展目标并尝试在 iOS 14 上运行它后,我收到一个错误:

SendProcessControlEvent:toPid: encountered an error: Error Domain=com.apple.dt.deviceprocesscontrolservice Code=8 "Failed to show Widget '***' error: Error Domain=SBAvocadoDebuggingControllerErrorDomain Code=1 "Failed to get descriptors for extensionBundleID (***)" UserInfo={NSLocalizedDescription=Failed to get descriptors for extensionBundleID (***)}." UserInfo={NSLocalizedDescription=Failed to show Widget '***' error: Error Domain=SBAvocadoDebuggingControllerErrorDomain Code=1 "Failed to get descriptors for extensionBundleID (***)" UserInfo={NSLocalizedDescription=Failed to get descriptors for extensionBundleID (***)}., NSUnderlyingError=0x7f9bac015910 {Error Domain=SBAvocadoDebuggingControllerErrorDomain Code=1 "Failed to get descriptors for extensionBundleID (***)" UserInfo={NSLocalizedDescription=Failed to get descriptors for extensionBundleID (***)}}} Domain: DTXMessage Code: 1

知道出了什么问题吗?

4

9 回答 9

17

我解决了这个问题。清理 Builder 文件夹(也许没有必要),然后重新启动你的 iPhone。再次运行您的项目。

于 2020-07-01T03:08:41.147 回答
3

对我来说,问题是小部件目标构建设置上的排除arm64架构any iOS simulator(由于我的 M1 开发设备而添加)。

删除此排除的体系结构时,小部件正在运行而没有任何问题。

于 2021-04-07T11:48:53.790 回答
2

对我来说,我的设备在 iOS 14.1 上,并且小部件目标的部署目标设置为 14.3。解决方案是更新部署目标以匹配您的设备或更低版本。部署目标设置位于常规选项卡和部署信息下(在我的情况下,我将其设置为 14.0)。

于 2021-01-07T01:14:03.853 回答
1

如果您添加的扩展目标是用于小部件...

我确实遵循了这里的一些建议并重新启动了我的手机并取得了一些成功,但错误不断发生,并且重新启动我的手机是侵入性的并且需要很长时间。对我来说,当我收到此弹出错误时,解决方法是......

1. 在我的 iPhone 上,我找到我正在处理的小部件,然后按住小部件将其删除,直到它让我可以选择将其从我的设备中删除。

2. 在 Xcode 中,我再次构建并运行 Widget Scheme,没有更多错误!

它快一点,而且我不必重新启动手机。

注意:如果由于某种原因不起作用,我将我的构建方案切换回我的 iPhone 方案,构建并运行,然后将方案改回我的小部件方案,这通常可以解决问题。

于 2021-01-04T15:24:49.223 回答
0

在将我的权利文件从根目录移动到小部件目录后,这发生在我身上。我尝试了这个答案,但问题仍然存在。

我不得不在主屏幕上手动安装小部件。之后从 Xcode 运行再次工作。

于 2021-09-09T02:07:29.067 回答
0

如果您的目标中有 2 个小部件,请注释掉您当前未测试的小部件

@main
struct Widgets: WidgetBundle
{
    @WidgetBundleBuilder
    var body: some Widget
    {
        Widget1()
//        Widget2()
    }
}
于 2020-09-21T22:25:03.460 回答
0

尝试转到设置 -> 常规 -> 配置文件和设备管理 -> 信任您的证书,然后重新构建并重新运行应用程序。

于 2020-07-10T11:10:59.407 回答
0

我遇到了完全相同的问题。

对我来说,当我从 M1 计算机运行扩展小部件时就会发生这种情况。

原来问题是我用 Rosetta 运行 Xcode,关闭它为我修复了它。

要启用/禁用罗塞塔:

  1. 右键单击 Xcode 应用程序
  2. 点击Get Info
  3. 取消勾选Open using Rosetta
  4. 清理项目 => 重启 Xcode
于 2022-03-04T15:27:45.060 回答
-2

正如这里提到的https://developer.apple.com/forums/thread/651611,在文件 -> 工作区/项目设置中设置新构建系统(对于共享每用户设置)似乎可以解决问题。您不会摆脱警告,但小部件可能(见注释)运行。

注 1 - 即使在此更改之后,它似乎也有大约 30% 的机会不会运行。只需再次点击 Run ‍♂️。(调试导航卡在等待附加

注 2 - 有时这并不完全有效。将构建系统设置为旧版并返回新版对我有用 ‍♂️。

注 3 - 在设备上运行到目前为止没有这些问题(iOS 14 beta 7)

在 Xcode 12 beta v6 上测试。

于 2020-09-07T14:44:21.680 回答