0
我製作了一個自定義框架(Swift),我在幾個不同的應用程序中使用它。來自定製框架的Swift電子郵件失敗
我在這個框架中提供的一個功能是基本的電子郵件客戶端。
代碼低於但當前描繪以下行爲:(即地址,BCC,主題,附件等),然而,當
最初加載電子郵件頁面視圖完美,所有的字段都我怎麼會想到我按發送或取消,應用程序崩潰。它實際上發送電子郵件。我已經在「公共func mailComposeController(控制器:MFMailComposeViewController,didFinishWithResult結果:MFMailComposeResult,錯誤:NSError?)」,並從未打印它打印。下面
請參閱代碼:
框架
import UIKit
import MessageUI
public class Framework_Email : NSObject, MFMailComposeViewControllerDelegate{
var picker : MFMailComposeViewController!
public var EmailSubject : String = ""
public var EmailMessage : String = ""
public var EmailAddress : [String] = []
public var EmailBlindAddress : [String] = []
public var EmailAttachment : [NSDictionary] = []
public func SendEmail(View : UIViewController)
{
picker = MFMailComposeViewController()
picker.mailComposeDelegate = self
picker.setToRecipients(EmailAddress)
picker.setSubject(EmailSubject)
picker.setMessageBody(EmailMessage, isHTML: false)
picker.setBccRecipients(EmailBlindAddress)
for temp in EmailAttachment
{
picker.addAttachmentData(temp["Data"] as! NSData, mimeType: temp["Type"] as! String, fileName: temp["Name"]as! String)
}
View.presentViewController(picker, animated: true, completion: nil)
}
public func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
print("Im Here!!!!!") //This is never seen in the output
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
而且我把它在我的主要應用程序的視圖控制器下面
let EmailClient : Framework_Email = Framework_Email()
EmailClient.EmailAddress = ["[email protected]"]
EmailClient.EmailMessage = "Email Message"
EmailClient.EmailSubject = "Email Subject"
EmailClient.EmailBlindAddress = ["[email protected]"]
EmailClient.SendEmail(self)
任何人都可以說明爲什麼這是不行的?
感謝
嗨,我已經試過了,並沒有什麼區別 –
我沒有Xcode中運行,但也許問題是,你把你的視圖控制器這裏。嘗試實現您的ViewController作爲郵件編輯器的代理並在那裏實現didFinishWithResult。 – eMKa