初始化 MFMessageComposeViewController 时应用程序崩溃
App crash when MFMessageComposeViewController is initialisation
我想通过我的应用程序发送消息。我在点击时调用以下方法
@IBAction func sendMessage(_ sender: Any) {
if (MFMessageComposeViewController.canSendText()) {
let composeVC = MFMessageComposeViewController()
composeVC.messageComposeDelegate = self
// Configure the fields of the interface.
composeVC.recipients = ["4085551212"]
composeVC.body = "Hello from California!"
// Present the view controller modally.
self.presentViewController(composeVC, animated: true, completion: nil)
}
}
问题是,如果我 运行 设备上的应用程序,它会在 MFMessageComposeViewController 初始化时崩溃,即
let composeVC = MFMessageComposeViewController()
如果我 运行 模拟器中的应用程序,它会在演示时崩溃,即
self.present(composeVC, animated: true, completion: nil)
当我运行设备上的应用
时出现错误日志
2018-01-29 12:03:57.826816+0530 EWS[2495:806400] *** Assertion failure in -[UICGColor encodeWithCoder:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3698.33.7/UIColor.m:1722
2018-01-29 12:03:57.827522+0530 EWS[2495:806400] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only RGBA or White color spaces are supported in this situation.'
*** First throw call stack:
(0x183702364 0x182948528 0x183702238 0x18409d7f4 0x18d08fffc 0x1840574dc 0x18405e8d8 0x18d4ebf20 0x18d4eb74c 0x18d4e7044 0x1835d03c0 0x18d4e6d44 0x18d7f16fc 0x18d60bd18 0x18d60b94c 0x19aee4534 0x19aecbff4 0x19aecc314 0x1984ce830 0x101159ec0 0x101158888 0x1011584b4 0x1011589c0 0x18cc186b4 0x18cc18634 0x18cc031dc 0x18cc17f28 0x18cc17a48 0x18cc12f60 0x18cbe3f64 0x18d53931c 0x18d53b8a8 0x18d5347c0 0x1836aa97c 0x1836aa8fc 0x1836aa184 0x1836a7d5c 0x1835c7e58 0x185474f84 0x18cc4767c 0x101157170 0x1830e456c)
libc++abi.dylib: terminating with uncaught exception of type NSException
我在模拟器上 运行 应用程序时的错误日志(未检查 if(MFMessageComposeViewController.canSendText())
)
2018-01-29 12:07:49.395714+0530 EWS[3533:67163] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target <EWS.BlockVC: 0x7f899c61db10>.'
*** First throw call stack:
如有任何帮助,我们将不胜感激。
好的,
When you 运行 it in iPhone : crash log clearly states that "Only RGBA or White color spaces are supported in this situation."
所以提示我会说你正在分配某处的颜色(某些全局色调,导航栏色调)不适用于 MFMessageComposeViewController,因此它会崩溃。
当你在模拟器中运行它时:
if (MFMessageComposeViewController.canSendText())
,此行将阻止它在模拟器中初始化 MFMessageComposeViewController
,因为它无法发送文本,因此当您尝试显示它时,它尚未初始化并崩溃。
再想一想,根据您的代码:self.presentViewController(composeVC, animated: true, completion: nil)
,在模拟器中 运行ning 时甚至不应该调用这一行,因为这一行在 if 语句中,不会得到通过.
在初始化控制器时也更改色调颜色或任何颜色,并告诉我结果是什么。
我想通过我的应用程序发送消息。我在点击时调用以下方法
@IBAction func sendMessage(_ sender: Any) {
if (MFMessageComposeViewController.canSendText()) {
let composeVC = MFMessageComposeViewController()
composeVC.messageComposeDelegate = self
// Configure the fields of the interface.
composeVC.recipients = ["4085551212"]
composeVC.body = "Hello from California!"
// Present the view controller modally.
self.presentViewController(composeVC, animated: true, completion: nil)
}
}
问题是,如果我 运行 设备上的应用程序,它会在 MFMessageComposeViewController 初始化时崩溃,即
let composeVC = MFMessageComposeViewController()
如果我 运行 模拟器中的应用程序,它会在演示时崩溃,即
self.present(composeVC, animated: true, completion: nil)
当我运行设备上的应用
时出现错误日志2018-01-29 12:03:57.826816+0530 EWS[2495:806400] *** Assertion failure in -[UICGColor encodeWithCoder:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3698.33.7/UIColor.m:1722
2018-01-29 12:03:57.827522+0530 EWS[2495:806400] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only RGBA or White color spaces are supported in this situation.'
*** First throw call stack:
(0x183702364 0x182948528 0x183702238 0x18409d7f4 0x18d08fffc 0x1840574dc 0x18405e8d8 0x18d4ebf20 0x18d4eb74c 0x18d4e7044 0x1835d03c0 0x18d4e6d44 0x18d7f16fc 0x18d60bd18 0x18d60b94c 0x19aee4534 0x19aecbff4 0x19aecc314 0x1984ce830 0x101159ec0 0x101158888 0x1011584b4 0x1011589c0 0x18cc186b4 0x18cc18634 0x18cc031dc 0x18cc17f28 0x18cc17a48 0x18cc12f60 0x18cbe3f64 0x18d53931c 0x18d53b8a8 0x18d5347c0 0x1836aa97c 0x1836aa8fc 0x1836aa184 0x1836a7d5c 0x1835c7e58 0x185474f84 0x18cc4767c 0x101157170 0x1830e456c)
libc++abi.dylib: terminating with uncaught exception of type NSException
我在模拟器上 运行 应用程序时的错误日志(未检查 if(MFMessageComposeViewController.canSendText())
)
2018-01-29 12:07:49.395714+0530 EWS[3533:67163] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target <EWS.BlockVC: 0x7f899c61db10>.'
*** First throw call stack:
如有任何帮助,我们将不胜感激。
好的,
When you 运行 it in iPhone : crash log clearly states that "Only RGBA or White color spaces are supported in this situation."
所以提示我会说你正在分配某处的颜色(某些全局色调,导航栏色调)不适用于 MFMessageComposeViewController,因此它会崩溃。
当你在模拟器中运行它时:
if (MFMessageComposeViewController.canSendText())
,此行将阻止它在模拟器中初始化 MFMessageComposeViewController
,因为它无法发送文本,因此当您尝试显示它时,它尚未初始化并崩溃。
再想一想,根据您的代码:self.presentViewController(composeVC, animated: true, completion: nil)
,在模拟器中 运行ning 时甚至不应该调用这一行,因为这一行在 if 语句中,不会得到通过.
在初始化控制器时也更改色调颜色或任何颜色,并告诉我结果是什么。