Вы можете использовать -setAttributes:ofItemAtPath:error:
метод NSFileManager
, чтобы установить атрибуты файла для любого файла.В этом случае вы хотите установить значение клавиши NSFileExtensionHidden
.
Чтобы применить это к сохраненному документу, вы можете переопределить -writeToURL:ofType:error:
в своем подклассе NSDocument
, а затем установить расширение файла на скрытыйпосле сохранения документа:
- (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError
{
//call super to save the file
if(![super writeToURL:absoluteURL ofType:typeName error:outError])
return NO;
//get the path of the saved file
NSString* filePath = [absoluteURL path];
//set the file extension hidden attribute to YES
NSDictionary* fileAttrs = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES]
forKey:NSFileExtensionHidden];
if(![[NSFileManager defaultManager] setAttributes:fileAttrs
ofItemAtPath:filePath
error:outError])
{
return NO;
}
return YES;
}