I want to open a file from the Internet in other applications.
My code is:
NSURLRequest *req = [[NSURLRequest alloc] initWithURL:url]; [NSURLConnection sendAsynchronousRequest:req queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *resp, NSData *respData, NSError *error){ NSLog(@"resp data length: %i", respData.length); NSArray *names = [objDict[@"name"] componentsSeparatedByString:@"."]; NSString *fileName = [@"downloaded." stringByAppendingString:names[names.count-1]]; NSString * path = [NSTemporaryDirectory() stringByAppendingPathComponent:fileName]; NSError *errorC = nil; BOOL success = [respData writeToFile:path options:NSDataWritingFileProtectionComplete error:&errorC]; if (success) { UIDocumentInteractionController *documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:path]]; documentController.delegate = self; [documentController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES]; } else { NSLog(@"fail: %@", errorC.description); } }];
The panel is displayed, but it crashes when you press any button (not only "Cancel").
I turned on zombie objects and he writes:
-[UIDocumentInteractionController URL]: message sent to deallocated instance
werbary
source share