2016-11-12 8 views
1

私はちょうどコードを学習しています。私はIOSでメッセージを送信する簡単なコードを作成しようとしています。私はMessageUIフレームワークをインポートするようにしました。シミュレータで実行すると、失敗し、スレッド1:信号SIGABRTが表示されます。私はしばしばそのような誤りを犯し、誰かの時間を無駄にしたくないので、ちょっとした間違いであれば、多分謝罪します。ここに私のコードです:スウィフトコードがメッセージを送信できない

import UIKit 
import MessageUI 


class ViewController: UIViewController, MFMessageComposeViewControllerDelegate { 



@IBOutlet weak var messageLabel: UILabel! 
override func viewDidLoad() { 
    super.viewDidLoad() 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

} 
@IBAction func SendSMS(sender: AnyObject) { 
    let messageVC = MFMessageComposeViewController() 

    messageVC.recipients = ["5146276051"] 
    messageVC.body = messageLabel.text 
    messageVC.messageComposeDelegate = self 
    self.presentViewController(messageVC, animated: true, completion: nil) 


} 
func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) { 

    switch (result.rawValue) { 

    case MessageComposeResultCancelled.rawValue: 
     print("Message was cancelled") 
     self.dismissViewControllerAnimated(true, completion: nil) 

    case MessageComposeResultFailed.rawValue: 
     print("Message has failed") 
     self.dismissViewControllerAnimated(true, completion: nil) 

    case MessageComposeResultSent.rawValue: 
     print("Message was sent") 
     self.dismissViewControllerAnimated(true, completion: nil) 

    default: 
     break 
    } 
} 

} 

ありがとうございました!

+0

こんにちは、 'IBAction'と' IBOutlet'をあなたのストーリーボードファイルに正しく接続しましたか?信号SIGABRTは、通常、このような理由により発生します。それが動作すれば私に教えてください – KrishnaCA

答えて

0

こんにちは、物理デバイスでコードを使用しようとすると、動作するはずです。

ところで、あなたのコード内のデバイスのサポートは、メッセージ送信するかどうかを確認し追加してください:あなたは、例えば避けることができますそのように

 @IBAction func SendSMS(sender: AnyObject) { 
      //Checking whether device support message sending 
      if (MFMessageComposeViewController.canSendText() == false) { return } 

      let messageVC = MFMessageComposeViewController() 

      messageVC.recipients = ["5146276051"] 
      messageVC.body = messageLabel.text 
      messageVC.messageComposeDelegate = self 
      self.presentViewController(messageVC, animated: true, completion: nil) 
     } 

をシミュレータでクラッシュします。

+0

ありがとうございました!私は一見を持っていることを確認します。 –

関連する問題