J'essaye de créer un service d'automateur utilisant du cacao, qui créera simplement un fichier texte avec le nom des fichiers sélectionnés, sur le même chemin, pour lequel j'ai écrit le code ci-dessous :Cocoa + Automator: le service pour générer des fichiers texte ne fonctionne pas
- (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;
}
j'ajouté en dessous des valeurs dans le fichier Info.plist:
- AMAccepts: Types: 0 article: com.apple.cocoa.url
- AMCategory: AMCategoryPhotos
J'ai importé l'action dans l'automateur et l'ai ajoutée au modèle de service par défaut.
Les options sélectionnées dans le modèle d'entrée sont:
- Service reçoit sélectionnés: URL
- dans: Recherche
- entrée est: seulement URL
Mon problème est le service créé est n'apparaît pas lorsque j'essaie de faire un clic droit sur un fichier dans finder.
Quelqu'un peut-il suggérer si j'ai manqué quelque chose?
Ainsi, le service ne figure pas dans le menu contextuel dans le Finder lorsque vous faites un clic droit sur un fichier . Votre service apparaît-il dans le menu Services du menu de l'application du Finder? – Kaydell