From b1568c5eefbcd5f6070e59b23ea9e85819d0100c Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Tue, 17 Dec 2019 13:47:15 +0100 Subject: [PATCH] Using documented way to create temporary folders for storing preview content (#1016) --- MacPass/MPTemporaryFileStorage.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/MacPass/MPTemporaryFileStorage.m b/MacPass/MPTemporaryFileStorage.m index 732e2d07..fb890b2e 100644 --- a/MacPass/MPTemporaryFileStorage.m +++ b/MacPass/MPTemporaryFileStorage.m @@ -102,7 +102,18 @@ return NO; } NSString *fileName = [NSString stringWithFormat:@"%@_%@", NSProcessInfo.processInfo.globallyUniqueString, binary.name]; - self.temporaryFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:fileName]]; + + NSURL *userDesktop = [NSFileManager.defaultManager URLsForDirectory:NSDesktopDirectory inDomains:NSUserDomainMask].firstObject; + if(!userDesktop) { + return NO; + } + NSError *error; + NSURL *tempURL = [NSFileManager.defaultManager URLForDirectory:NSItemReplacementDirectory inDomain:NSUserDomainMask appropriateForURL:userDesktop create:YES error:&error]; + if(!tempURL) { + NSLog(@"Unable to create temporary directory for file preview: %@", error.description); + return NO; + } + self.temporaryFileURL = [tempURL URLByAppendingPathComponent:fileName isDirectory:NO]; BOOL success = [binary.data writeToURL:self.temporaryFileURL options:0 error:0]; if(!success) {