スクリーンキャプチャの宛先パスをデフォルトのcom.apple.screencaptureパス値に設定できるようにするために、XcodeでQuicksilver プラグイン(スクリーンキャプチャ)を変更しようとしています。プラグインには現在、何らかの理由でパスがハードコーディングされているため、画面キャプチャの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;
}
デフォルトのデータベースから読み取る方法を示す例を高低で検索しましたが、情報が少ないようです。
ありがとう!