URL-адрес, содержащий косую черту, не работает с NSWorkSpace

В системе существует имя файла с косой чертой (/).

Например: URL -> ~/Documents/FolderName/TestFilename/myFile.dmg.

Последний компонент пути -> "TestFilename/myFile.dmg"

Имя файла -> "TestFilename/myFile.dmg"

Теперь, когда я использую приведенный ниже код в своем приложении, чтобы показать в поисковике материал со следующим. Это не делает выявление в Finder.

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

Теперь, как решить эту проблему для такого случая и сделать так, чтобы она отображалась в поисковике для таких файлов. Я пробовал с "CFURLCreateStringByAddingPercentEscapes", похоже, это не работает. .


person Abdul Naveed    schedule 28.04.2016    source источник


Ответы (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];
person Hemantha D S    schedule 28.04.2016
comment
Hemantha DS: это не удается сделать для имени файла, содержащего несколько косых черт - person Abdul Naveed; 09.06.2016