Skip to content

Commit

Permalink
Merge pull request #394 from vibe-d/ios_temp_file_fix
Browse files Browse the repository at this point in the history
Use the correct temporary folder on iOS
  • Loading branch information
s-ludwig committed Mar 2, 2024
2 parents 5cadded + e287595 commit 3d79bbf
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion source/vibe/core/file.d
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,13 @@ FileStream createTempFile(string suffix = null)
tmpname ~= suffix;
return openFile(tmpname, FileMode.createTrunc);
} else {
enum pattern ="/tmp/vtmp.XXXXXX";
version (iOS) {
import std.conv : to;
auto tmpstr = NSTemporaryDirectory().UTF8String;
string pattern = () @trusted { return tmpstr.to!string; } () ~ "/vtmp.XXXXXX";
} else {
enum pattern ="/tmp/vtmp.XXXXXX";
}
scope templ = new char[pattern.length+suffix.length+1];
templ[0 .. pattern.length] = pattern;
templ[pattern.length .. $-1] = (suffix)[];
Expand All @@ -188,6 +194,14 @@ FileStream createTempFile(string suffix = null)
}
}

version (iOS) {
private extern(C) NSString NSTemporaryDirectory();
private extern extern(Objective-C) class NSString {
@property const(char)* UTF8String() @selector("UTF8String");
}
}


/**
Moves or renames a file.
Expand Down

0 comments on commit 3d79bbf

Please sign in to comment.