ココアを使用して自動化サービスを作成しようとしています。これは、以下のコードを書いたのと同じパスに、選択したファイルの名前を持つテキスト ファイルを作成するだけです。
- (id)runWithInput:(id)input fromAction:(AMAction *)anAction error:(NSDictionary **)errorInfo
{
// Add your code here, returning the data to be passed to the next action.
NSArray *fileURLs = (NSArray *)input;
size_t count = [fileURLs count];
dispatch_apply(count, dispatch_get_global_queue(0, 0), ^(size_t i) {
NSURL *fileURL = [fileURLs objectAtIndex:i];
NSData *data = [@"some crude text ;)" dataUsingEncoding:NSUTF8StringEncoding];
//changing extension of file
NSString *filePathWithoutExtension = [[fileURL path] stringByDeletingPathExtension];
NSString *filePathWithNewExtension = [[NSString alloc] initWithFormat:@"%@.%@",filePathWithoutExtension,@"txt"];
[data writeToFile:filePathWithNewExtension atomically:NO];
});
// no need to return anything
return nil;
}
info.plist ファイルに以下の値を追加しました。
- AMAccepts: タイプ: アイテム 0: com.apple.cocoa.url
- AMCategory:AMCategory写真
アクションを自動化ツールにインポートし、デフォルトのサービス テンプレートに追加しました。
入力テンプレートで選択されるオプションは次のとおりです。
- サービスが選択したものを受け取ります: URL
- に: ファインダー
- 入力: URLのみ
私の問題は、ファインダーでファイルを右クリックしようとすると、作成されたサービスが表示されないことです。
私が何かを逃した場合、誰かが提案できますか?