0

システム内にスラッシュ(/)を含むファイル名が存在します。

例: URL -> ~/Documents/FolderName/TestFilename/myFile.dmg.

最後のパス コンポーネントは -> "TestFilename/myFile.dmg" です。

ファイル名は→「TestFilename/myFile.dmg」

ここで、アプリケーションで以下のコードを使用して、次のようなものをファインダーで明らかにします。ファインダーでの表示に失敗します。

NSURL *fileURL = [NSURL URLWithString:@"/Documents/FolderName/TestFilename/myFile.dmg"];
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:@[fileURL]];

そのような場合にこれを解決し、そのようなファイルのファインダーで明らかにする方法. 「CFURLCreateStringByAddingPercentEscapes」を試してみましたが、うまくいかないようです。.

4

1 に答える 1

1

これは、コード内でファイル名とファイルの場所を分離できる場合に実現できます。

以下はサンプルコードです。

NSString *location = @"Users/Desktop";
NSString *fileName = @"TestFilename/myFile.dmg";
if ([fileName rangeOfString:@"/"].location != NSNotFound)
{
       fileName = [fileName stringByReplacingOccurrencesOfString:@"/" withString:@":"];
}

[[NSWorkspace sharedWorkspace] selectFile:[location stringByAppendingPathComponent:fileName] inFileViewerRootedAtPath:location];
于 2016-04-28T11:51:17.453 に答える