由于未捕获的异常“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]