Плагин OSX Quicksilver, руководство по Objective C

Я пытаюсь изменить плагин Quicksilver ( снимок экрана) в XCode, чтобы позволить целевому пути для screencapture установить значение по умолчанию com.apple.screencapture. Плагин в настоящее время по какой-то причине имеет жесткий код пути, поэтому даже если вы изменили путь экрана OSX по умолчанию для снимков экрана, плагин все равно отправляет их по умолчанию в OSX, то есть на рабочий стол.

Я буквальный нуб с Xcode/Objective C, поэтому любая информация / примеры или указание в правильном направлении будет высоко ценится.

Файл плагина screencapture, который необходимо настроить - это файл "QSScreenCapturePlugIn.m" - вот фрагмент кода:

(QSObject *)captureRegion:(QSObject *)dObject{

   NSString *destinationPath=[@"~/Desktop/Picture.png" stringByStandardizingPath];

   destinationPath=[destinationPath firstUnusedFilePath];

   NSTask *task=[NSTask launchedTaskWithLaunchPath:SCTOOL arguments:[NSArray arrayWithObjects:@"-is",destinationPath,nil]];

   [task waitUntilExit];

   [[QSReg preferredCommandInterface] selectObject:[QSObject fileObjectWithPath:destinationPath]];

   [[QSReg preferredCommandInterface] actionActivate:nil];
   return nil;
}

Я искал высокие и низкие примеры, демонстрирующие, как читать из базы данных по умолчанию, но кажется, что информации немного.

Спасибо!

1 ответ

Решение

Я не могу поверить, что никто не смог помочь с ответом или указателем на этот вопрос (или, возможно, я просто недостаточно терпелив), но, к счастью, я смог найти ответ, читая некоторые другие ответы здесь на SO - к сожалению, я не могу сослаться на Вопрос здесь, так как я потерял страницу.

Во всяком случае, это будет делать это:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *screenCaptureLocationString = [[defaults persistentDomainForName:@"com.apple.screencapture"] valueForKey:@"location"];

Удивительно сложно найти эту информацию по какой-то причине, но, надеюсь, размещение ее здесь поможет кому-то еще.

Другие вопросы по тегам