Я в основном принимая скриншот зрения, сохранив его на мою Фотопленку, получая путь NSURL и экспорт в WhatsappUIDocumentInreactionController не позволит NSURL для .url (Swift)
//Create the UIImage
UIGraphicsBeginImageContext(view.frame.size)
view.layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
//Save it to camera roll round 2
var library = ALAssetsLibrary()
library.writeImageToSavedPhotosAlbum(image.CGImage, metadata: nil, completionBlock: {
(path:NSURL!, error:NSError!) -> Void in
if NSThread.currentThread() == NSThread.mainThread(){
println("\(path)")
var controller = UIDocumentInteractionController()
controller.delegate = self
controller.UTI = "net.whatsapp.image"
controller.URL = path
controller.presentOpenInMenuFromRect(CGRectZero, inView: self.view, animated: true)
}
})
Я м получают эту ошибку: неисправность
утверждения - [UIDocumentInteractionController setURL:], /SourceCache/UIKit/UIKit-3318.16.21/UIDocumentInteractionController.m:1024
Но, согласно документации Apple, она должна быть NSURL (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDocumentInteractionController_class/#//apple_ref/occ/instp/UIDocumentInteractionController/URL)
Любые идеи?
Но это не может быть 'nil'. Это? – matt
Кстати, не пишите 'if NSThread.currentThread() == NSThread.mainThread()'. Используйте 'isMainThread'. Еще лучше, даже не задавайте этого вопроса; если ваша цель - попасть в основной поток, выйдите на основной поток (с 'dispatch_async'). – matt
@matt благодарит за отзыв! Это была просто проверка, которую я сделал, чтобы проверить, запущен ли завершающий блок на mainThread. С этого момента я буду использовать isMainThread. – Tialtous