Я использую этот код для отправки и изображений (и в конце концов подпись) в Instagram:EXC_BAD_ACCESS использования UIDocumentInteractionController для отправленного изображения в Instagram
@IBAction func sendToInstragramPressed(sender: AnyObject) {
var image = imagePreview.image
var imagePath = NSString(format: "%@", [NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)][0])
var img: String = imagePath
var clean: String = img.stringByReplacingOccurrencesOfString(
"[\\(\\ \\\"\\)]",
withString: "",
options: .RegularExpressionSearch)
clean = clean.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
clean = clean + "/image.igo"
imagePath = clean
println("test2 \(imagePath)")
NSFileManager.defaultManager().removeItemAtPath(imagePath, error: nil)
UIImagePNGRepresentation(image).writeToFile(imagePath, atomically: true)
var docController: UIDocumentInteractionController = UIDocumentInteractionController(URL: NSURL.fileURLWithPath(imagePath)!)
docController.delegate = self
/*var annotationDict: NSMutableDictionary = [:]
annotationDict["Instagram Caption"] = "Instagram Caption"
docController.annotation = annotationDict*/
docController.UTI = "com.instagram.exclusivegram"
docController.presentOpenInMenuFromRect(self.view.frame, inView: self.view, animated: true)
}
Он показывает мне значок Instagram на ощупь. Когда я касаюсь его, я продолжаю получать ошибку EXC_BAD_ACCESS
в AppDelegate, но я не могу на всю жизнь понять, что именно вызывает это. Я сделал точно такую же реализацию в объективе-c, без проблем. Что может пойти не так?
EDIT
это происходило до того, как манипулировали ImagePath, а с этим блоком кода:
var img: String = imagePath
var clean: String = img.stringByReplacingOccurrencesOfString(
"[\\(\\ \\\"\\)]",
withString: "",
options: .RegularExpressionSearch)
clean = clean.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
clean = clean + "/image.igo"
imagePath = clean
Что линия является ошибка? Что говорит вам отладчик? Он должен прыгать в lldb? –
он отображается на 'классе AppDelegate: UIResponder, UIApplicationDelegate {' моего файла AppDelegate.swift – zillaofthegods
'NSURL.fileURLWithPath (imagePath)!' Это то, что nil? Почему вы используете '!' Там? Это не кажется безопасным. –