MFMessageComposser вызывает утечку памяти всякий раз, когда я отправляю вложение
У меня есть скрипт Swift 4.2, который отправляет прикрепленное видео с помощью MFMessageCompose. Я замечаю, что каждый раз, когда я отправляю видео, использование памяти увеличивается. Когда я выхожу из MessageView, память не освобождается. Каждый раз, когда я отправляю вложение с помощью MFMessageController, память накапливается. Я запустил отладку, и она сообщает мне об утечках памяти в IOSurface. У меня при нажатии на кнопку открывается окно MFMessage с вложением для отправки. Даже если я отменю это, память показывает увеличение. Память прыгает только до размера вложения, когда я нажимаю эту кнопку. Код, который я использую, приведен ниже. Может кто-нибудь помочь мне понять, как освободить эту память, чтобы мое приложение не зависало после нескольких отправок?
// Действие от кнопки на UIViewController для запуска отправки @IBAction func sendMessage(_ sender: Any) {
func sendSMS(attachment: String) {
}
}
if let vid = self.selectedVideo {
self.titleLabel.text = vid.videoTitle
self.descriptionLabel.text = vid.videoDescription
let requestObj2 = (vid.videoId + ".mp4")
sendSMS(attachment: requestObj2)
// Check if the device is capable of sending text message
guard MFMessageComposeViewController.canSendText() else {
let alertMessage = UIAlertController(title: "SMS unavailable", message: "Your device is not capable of sending SMS.", preferredStyle: .alert)
alertMessage.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
present(alertMessage, animated: true, completion: nil)
return
}
// Prefill the SMS
let messageController = MFMessageComposeViewController()
messageController.messageComposeDelegate = self
messageController.recipients = [" "]
messageController.body = " "
print("prefill the SMS")
//Adding file attachment
let fileparts = requestObj2.components(separatedBy: ".")
let filename = fileparts[0]
let fileExtension = fileparts[1]
let filePath = Bundle.main.path(forResource: filename, ofType: fileExtension)
let fileUrl = NSURL.fileURL(withPath: filePath!)
messageController.addAttachmentURL(fileUrl, withAlternateFilename: nil)
//Present message view controller on screen
present(messageController, animated: true, completion: nil)
print("present message view")
return