Отправить письмо в игре, используя набор спрайтов в xcode 7 beta3?
Я делаю игру для iPad в наборе спрайтов, используя swift в xcode 7beta3, и я хочу, чтобы результаты игры были отправлены пользователям по электронной почте после завершения игры. Пользователь должен нажать кнопку "Отправить" и перенаправить туда, где он может ввести свой адрес электронной почты и отправить сообщение. Но я понятия не имею, как сделать и отправить по электронной почте.
Я искал по всему интернету ответ на этот вопрос, но все они являются ответами старой версии. Я надеюсь, что вы можете помочь.
заранее спасибо
РЕДАКТИРОВАТЬ: Я искал еще немного, и я нашел решение (здесь: http://kellyegan.net/sending-files-using-swift/), но у меня все еще есть проблема. В моем GameViewController я добавил:
override func viewDidLoad() {
super.viewDidLoad()
let scene = StartGameScene(size: view.bounds.size)
let skView = view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .ResizeFill
skView.presentScene(scene)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
internal func sendEmail() {
//Check to see the device can send email.
if( MFMailComposeViewController.canSendMail() ) {
print("Can send email.")
let mailComposer = MFMailComposeViewController()
mailComposer.mailComposeDelegate = self
//Set the subject and message of the email
mailComposer.setSubject("Have you heard a swift?")
mailComposer.setMessageBody("This is what they sound like.", isHTML: false)
if let filePath = NSBundle.mainBundle().pathForResource("Math", ofType: "txt") {
print("File path loaded.")
if let fileData = NSData(contentsOfFile: filePath) {
print("File data loaded.")
mailComposer.addAttachmentData(fileData, mimeType: "text/plain", fileName: "Math")
}
}
self.presentViewController(mailComposer, animated: true, completion: nil)
}
}
func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
self.dismissViewControllerAnimated(true, completion: nil)
}
SendMail() вызывается в одной из моих игровых сцен, когда вы нажимаете кнопку. Проблема в том, что я получаю ошибку, когда нажимаю эту кнопку. Распечатывает
Можете отправить по электронной почте. Путь к файлу загружен. Данные файла загружены.
как следует, но тогда выдает ошибку:
Не удалось преобразовать значение типа "UIView" (0x1964ea508) в "SKView" (0x19624f560).
Я думаю, что проблема заключается в self.presentViewController(), но я не знаю, как это исправить.