2016-04-28 1 views
0

Существует имя файла с косой чертой (/) в системе.URL-адрес, содержащий косую черту не работает с NSWorkSpace

Например: 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», это не похоже на работу. ,

ответ

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]; 
+0

Спасибо Hemantha DS, он работал как шарм. –

+0

Hemantha DS: он не может сделать это для имени файла, содержащего множественную косую черту –

Смежные вопросы