From 18fc623045fceffd46c75c4e044344ea6b11d273 Mon Sep 17 00:00:00 2001 From: Derek Selander Date: Fri, 27 Apr 2018 11:13:38 -0600 Subject: [PATCH] =?UTF-8?q?NSFileHandle=E2=80=99s=20fileHandleForWritingTo?= =?UTF-8?q?URL=20doesn=E2=80=99t=20like=20percent-encoded=20filenames?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mobdevim/yoink/yoink.m | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mobdevim/yoink/yoink.m b/mobdevim/yoink/yoink.m index 08a1704..9bdb058 100644 --- a/mobdevim/yoink/yoink.m +++ b/mobdevim/yoink/yoink.m @@ -137,7 +137,7 @@ int yoink_app(AMDeviceRef d, NSDictionary *options) { } NSFileManager *manager = [NSFileManager defaultManager]; - + // write the directories first for (NSString *path in exploredDirectories) { NSString *finalizedDirectory = [outputDirectory stringByAppendingPathComponent:path]; @@ -155,12 +155,12 @@ int yoink_app(AMDeviceRef d, NSDictionary *options) { continue; } - NSError *err = NULL; [[NSFileManager defaultManager] createFileAtPath:finalizedFile contents:nil attributes:nil]; - NSFileHandle *handle = [NSFileHandle fileHandleForWritingToURL:[NSURL URLWithString:finalizedFile] error:&err]; - if (err) { - dsprintf(stdout, "%s\nExiting...\n", [[err localizedDescription] UTF8String]); - return 1; + NSFileHandle *handle = [NSFileHandle fileHandleForWritingAtPath:finalizedFile]; + if (!handle) { + dsprintf(stdout, "%s\nExiting...\n", [finalizedFile UTF8String]); + continue; + // return 1; } int fd = [handle fileDescriptor]; @@ -204,6 +204,7 @@ int yoink_app(AMDeviceRef d, NSDictionary *options) { dsprintf(stdout, "Opening \"%s\"...\n", [outputDirectory UTF8String]); if (!quiet_mode) { NSString *systemCMDString = [NSString stringWithFormat:@"open -R %@", outputDirectory]; + system([systemCMDString UTF8String]); } } else {