I am learning how to make a text message sender.
I have created a sender for email, Facebook, and Twitter: all which work. However, my text message sender, when the button is clicked, throws an exception during runtime.
Here is my full stack:
2015-07-17 22:43:13.410 Give[15706:340810] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target .'
*** First throw call stack:
(
0 CoreFoundation 0x0000000100911c65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010247cbb7 objc_exception_throw + 45
2 UIKit 0x00000001012ed80d -[UIViewController _presentViewController:withAnimationController:completion:] + 3238
3 UIKit 0x00000001012ef6c1 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 132
4 UIKit 0x00000001012ef5e5 -[UIViewController presentViewController:animated:completion:] + 229
5 Give 0x0000000100432742 _TFC4Give14ViewController19sendFromTextMessagefS0_FPSs9AnyObject_T_ + 1058
6 Give 0x00000001004327d6 _TToFC4Give14ViewController19sendFromTextMessagefS0_FPSs9AnyObject_T_ + 54
7 UIKit 0x00000001011b1d62 -[UIApplication sendAction:to:from:forEvent:] + 75
8 UIKit 0x00000001012c350a -[UIControl _sendActionsForEvents:withEvent:] + 467
9 UIKit 0x00000001012c28d9 -[UIControl touchesEnded:withEvent:] + 522
10 UIKit 0x00000001011fe958 -[UIWindow _sendTouchesForEvent:] + 735
11 UIKit 0x00000001011ff282 -[UIWindow sendEvent:] + 682
12 UIKit 0x00000001011c5541 -[UIApplication sendEvent:] + 246
13 UIKit 0x00000001011d2cdc _UIApplicationHandleEventFromQueueEvent + 18265
14 UIKit 0x00000001011ad59c _UIApplicationHandleEventQueue + 2066
15 CoreFoundation 0x0000000100845431 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16 CoreFoundation 0x000000010083b2fd __CFRunLoopDoSources0 + 269
17 CoreFoundation 0x000000010083a934 __CFRunLoopRun + 868
18 CoreFoundation 0x000000010083a366 CFRunLoopRunSpecific + 470
19 GraphicsServices 0x0000000104081a3e GSEventRunModal + 161
20 UIKit 0x00000001011b08c0 UIApplicationMain + 1282
21 Give 0x0000000100439ab7 main + 135
22 libdyld.dylib 0x0000000108105145 start + 1
23 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
And here is my code for sending from a text message:
@IBAction func sendFromTextMessage(sender: AnyObject) {
var textMessage = MFMessageComposeViewController() //doesn;t work right now
textMessage.body = "Check out my amazing campaign app on Give!"
textMessage.recipients = ["6505555555"] //changed from my real number
textMessage.messageComposeDelegate = self
self.presentViewController(textMessage, animated: true, completion: nil)
}
func messageComposeViewController(controller: MFMessageComposeViewController!, didFinishWithResult result: MessageComposeResult) {
switch result.value {
case MessageComposeResultCancelled.value:
print("Message Cancelled")
case MessageComposeResultFailed.value:
print("Message Failed")
case MessageComposeResultSent.value:
print("Message Sent")
default:
break
}
self.dismissViewControllerAnimated(true, completion: nil)
}