web-dev-qa-db-ja.com

一時ディレクトリ内のファイルのファイルパスとURLを取得する

NSTemporaryDirectoryフォルダーにある "temp.pdf"というファイルのファイルパスを取得しようとしました(確認したところ、ファイルが存在します)。

私はこれを使用します:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"pdf" inDirectory:NSTemporaryDirectory()];

私が試した:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"temp.pdf" ofType:@"" inDirectory:NSTemporaryDirectory()];

そして:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"pdf"];

しかし、それは機能していないようで、戻り値は常にnullです。

だから、私は少し混乱しています、誰かが私を助けることができますか?

ありがとうございました。

52
HasgardLucian

NSTemporaryDirectory() は、一時ディレクトリへのフルパスを提供します。 mainBundleを使用する代わりに、試しましたか?

NSString *filePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"temp.pdf"];

代わりにURLが必要な場合は、次を実行します。

NSURL *furl = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"temp.pdf"]];
124
Joe

Swift 2.

let tmpDirURL = NSURL.fileURLWithPath(NSTemporaryDirectory(),isDirectory: true)
let fileURL = tmpDirURL.URLByAppendingPathComponent("stuff").URLByAppendingPathExtension("gif")
print("FilePath: \(fileURL.path)")
13
twtr

Swift 3.の場合

var fileUrl: URL = URL(fileURLWithPath: NSTemporaryDirectory())
fileUrl.appendPathComponent("foo")
fileUrl.appendPathExtension("bar")
2
bompf