由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效参数不满足:self.senderId!= nil”

Posted

技术标签:

【中文标题】由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效参数不满足:self.senderId!= nil”【英文标题】:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: self.senderId != nil' 【发布时间】:2017-05-31 01:11:38 【问题描述】:

我在玩 JSQMessagesViewController。我的第一个项目是使用 Raywenderlich 的 Firebase Tutorial: Real-time Chat tutorial.

然后我创建了一个新项目来更多地使用 JSQMessagesViewController。在这个新项目中,我现在遇到了问题。

在我导入 JSQMessagesViewController 并将其添加为我的 ViewController 的超类后,我在控制台中收到此错误 -

-[NewProject.ViewController viewWillAppear:] 中的断言失败, /Users/Downloads/ChatChatFirebaseTutorial-finished/Pods/JSQMessagesViewController/JSQMessagesViewController/Controllers/JSQMessagesViewController.m:233 2017-05-30 20:43:44.498 NewProject[10688:314277] *** 终止应用程序 由于未捕获的异常“NSInternalInconsistencyException”,原因: '无效参数不满足:self.senderId != nil'

我在新项目中看到来自 ChatChatFirebaseTutorial 的消息(对吗?)我以前的项目。

所以,我从我的 mac 中删除了关于 ChatChatFirebaseTutorial 的所有内容,甚至更多内容。它没有帮助。我从 project 和 mac 卸载并安装了几次 Pod。它没有帮助。

以前有人遇到过这个问题吗?如果是,你是怎么解决的?

【问题讨论】:

我的问题已解决here. 谢谢! 【参考方案1】:

库要求您为当前用户设置senderID。这可以通过在你的类中添加这样的函数来完成

override func senderId() -> String 
    return "UNIQUEID"

我会使用您知道将是唯一的东西,例如电子邮件或您生成的与用户相关联的唯一 ID,这样您就可以确定谁发送了这些消息。

【讨论】:

以上是关于由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效参数不满足:self.senderId!= nil”的主要内容,如果未能解决你的问题,请参考以下文章

目标 C:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序

由于未捕获的异常而终止应用程序 [UIImageView _isResizable]

由于未捕获的异常而终止应用程序,同时加载视图

由于未捕获的异常“NSInternalInconsistencyException”错误而终止应用程序

“由于未捕获的异常而终止应用程序”在推送视图控制器时崩溃

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,