与名为 com.apple.commcenter.coretelephony.xpc 的服务的连接已失效

Posted

技术标签:

【中文标题】与名为 com.apple.commcenter.coretelephony.xpc 的服务的连接已失效【英文标题】:The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated 【发布时间】:2019-02-07 04:17:36 【问题描述】:

我在运行我的应用程序时收到标题中的错误。我正在运行 Xcode Beta 10 第 6 版。完整的错误是:

[NetworkInfo] 描述符查询返回错误:错误域 = NSCocoaErrorDomain 代码 = 4099 “。” UserInfo=NSDebugDescription=。

它在我的 createTaskFromSnapshot() 函数的第一行被抛出。

我的代码:

func observeDatabase(_ tableToUpdate: UITableView) 
    taskDatabase.observe(.childAdded)  (snapshot) in
        self.handleChildAdded(snapshot: snapshot)
        tableToUpdate.reloadData()
    


private func handleChildAdded(snapshot: 
    let addedTask = createTaskFromSnapshot(snapshot)
    taskList.append(addedTask)


private func createTaskFromSnapshot(_ snapshot: DataSnapshot) -> Task 
    let snapshotValue = snapshot.value as! Dictionary<String, String> // error is thrown here

    let taskTitle = snapshotValue["taskTitle"]!
    let newTask = Task(title: taskTitle)
  return newTask

这个错误是什么意思?为什么我会得到它?

【问题讨论】:

您问题中的错误和代码似乎与我无关。是什么让您认为错误是由这段代码引起的? 看起来也与我无关。我将您的代码复制并粘贴到我的应用程序中(将 Task 更改为 String 以进行测试)并且效果很好。作为建议,我会将 Dictionary 更改为 [String: Any] 除非您确定每个节点都将包含 String:String 的键:值对 这就是 Xcode 突出显示为错误的行。每个任务都存储为 Dictionary 好。然后问题可能是您的值之一不是字符串,但您正试图强制它成为。我会根据我上面的评论对其进行更改,然后添加错误处理代码以处理它不是字符串的情况,或者打印出您的值并尝试找出不是的值。 有人找到解决方案吗?得到相同的错误信息;启动屏幕出现,然后应用程序崩溃。 ...Failed to create remote object proxy: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo=NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated. ...Failed to ping server after delegate was set ...Failed to create synchronous remote object proxy: [NetworkInfo] Descriptors query returned error 【参考方案1】:

该消息可能与崩溃/问题无关。

这条消息困扰了我一段时间,但无法将其删除。 好吧,我找到了一种将其隐藏在您的 xcode 控制台中的方法,只需在终端中运行以下命令之一:

xcrun simctl spawn booted log config --mode "level:off" --subsystem com.apple.CoreTelephony

sudo log config --mode "level:off" --subsystem com.apple.CoreTelephony

您可以随时通过使用不同的level 属性运行相同的命令来重新启用此功能`

【讨论】:

@Dhruv 您是否引用了第一条消息中提到的错误?您使用的是设备还是模拟器?【参考方案2】:

试试这个:

1- 从 Xcode 菜单打开:产品 > 方案 > 编辑方案

2- 在您的环境变量上设置 OS_ACTIVITY_MODE = disable

【讨论】:

在模拟器中调试时出现此错误。应该在实际设备中移除吗? 它也禁用了几乎所有的东西,包括 NSLog 的【参考方案3】:

在我的例子中,这种类型的警告是在使用 CTTelephonyNetworkInfo() 的情况下生成的。由于此错误仅在模拟器上生成,因此我这样做了:

#if targetEnvironment(simulator)
    return []
#else
    let networkInfo = CTTelephonyNetworkInfo()
    return [networkInfo.subscriberCellularProvider]
#endif

【讨论】:

这个答案实际上与这个问题无关。

以上是关于与名为 com.apple.commcenter.coretelephony.xpc 的服务的连接已失效的主要内容,如果未能解决你的问题,请参考以下文章

找不到与名为 '' 的控制器匹配的类型

@Sql 失败的 SQL 脚本:配置的数据源 [*](名为“fooDS”)不是与事务管理器 [*](名为“fooTM”)关联的那个

命名空间更改 - 找到与名为“Home”的控制器匹配的多种类型

MVC5 找到与名为“Home”的控制器匹配的多种类型

找到了与名为“Home”的控制器匹配的多种类型。 (奇怪的错误)

ImportError:没有名为'bs4'的模块与virtualenv python3