質問編集履歴
3
コメント追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
Xcode Version 10.1 (10B61)
|
59
59
|
Swift3
|
60
60
|
|
61
|
-
## 回答をいただいた後に編集しました。
|
61
|
+
## 回答をいただいた後に編集しました。(回答箇所は未編集)
|
62
62
|
```swift
|
63
63
|
|
64
64
|
var mailViewController = MFMailComposeViewController()
|
2
ViewControllerを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -56,4 +56,44 @@
|
|
56
56
|
### 補足情報(FW/ツールのバージョンなど)
|
57
57
|
|
58
58
|
Xcode Version 10.1 (10B61)
|
59
|
-
Swift3
|
59
|
+
Swift3
|
60
|
+
|
61
|
+
## 回答をいただいた後に編集しました。
|
62
|
+
```swift
|
63
|
+
|
64
|
+
var mailViewController = MFMailComposeViewController()
|
65
|
+
let currentViewController : UIViewController? = UIApplication.shared.keyWindow?.rootViewController! //<=追記
|
66
|
+
@IBAction func sendMail() {
|
67
|
+
//メールを送信できるかチェック
|
68
|
+
if MFMailComposeViewController.canSendMail()==false {
|
69
|
+
print("Email Send Failed")
|
70
|
+
return
|
71
|
+
}
|
72
|
+
|
73
|
+
var mailViewController = MFMailComposeViewController()
|
74
|
+
var toRecipients = ["XXXX@gmail.sampledomainX"]
|
75
|
+
|
76
|
+
mailViewController.mailComposeDelegate = self
|
77
|
+
mailViewController.setSubject("メールの件名")
|
78
|
+
mailViewController.setToRecipients(toRecipients) //Toアドレスの表示
|
79
|
+
mailViewController.setMessageBody("メールの本文", isHTML: false)
|
80
|
+
//var currentViewController : UIViewController? = UIApplication.shared.keyWindow?.rootViewController!
|
81
|
+
currentViewController?.present(mailViewController, animated: true, completion: nil)
|
82
|
+
}
|
83
|
+
|
84
|
+
func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
|
85
|
+
if result == MFMailComposeResult.cancelled {
|
86
|
+
print("メール送信がキャンセルされました")
|
87
|
+
} else if result == MFMailComposeResult.saved {
|
88
|
+
print("下書きとして保存されました")
|
89
|
+
} else if result == MFMailComposeResult.sent {
|
90
|
+
print("メール送信に成功しました")
|
91
|
+
} else if result == MFMailComposeResult.failed {
|
92
|
+
print("メール送信に失敗しました")
|
93
|
+
}
|
94
|
+
|
95
|
+
currentViewController?.dismiss(animated: true, completion: nil)
|
96
|
+
|
97
|
+
//mailViewController.dismiss(animated: true, completion: nil) //閉じる <= Controllerを間違えていたので編集
|
98
|
+
}
|
99
|
+
```
|
1
タイトル名を変更 フレームワーク名追加
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Swift SpriteKit上でmail作成画面が閉じれない
|
1
|
+
Swift SpriteKit上でMFMailComposeViewControllerで作成したmail作成画面が閉じれない
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
Swift+SpriteKitで2Dのゲームを作っています。
|
3
|
+
MessageUI.frameworkを使って
|
3
4
|
spritekitnodeをタップしたらMFMailComposeViewControllerでメールの作成画面を表示し、送信/下書き/キャンセルのいずれかが処理されたらメールの作成画面を閉じたいです。
|
4
5
|
現状はタップ->メール作成画面の表示までは実装できました。
|
5
6
|
|