macos - menus - como quitar un icono de la barra del finder
No se puede agregar el elemento en el menĂº contextual del Finder usando servicios en Cocoa (1)
Encontrado los problemas:
1. Realmente tuve que almacenar mi aplicación al menos una vez en la carpeta de aplicaciones (que no está hecha de forma predeterminada cuando compila con Xcode)
2. Debería haber agregado NSUpdateDynamicServices (); después de [NSApp setServicesProvider: self]; mando.
3. Espere aproximadamente 10 segundos después de haber iniciado la aplicación para completar el menú Servicios del Finder.
Me gustaría agregar un elemento en el menú contextual de mi Finder cada vez que hago clic derecho en los archivos o carpetas, y este menú se vincula a un método de mi aplicación Cocoa.
Estoy siguiendo el ejemplo de CocoaDev y la documentación de Apple, pero no puedo obtener el servicio que se muestra.
Aquí está mi .h
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate,NSObject>
@property (assign) IBOutlet NSWindow *window;
-(void)IClicked:(NSPasteboard *)pboard
userData:(NSString *)data
error:(NSString **)error;
@end
.metro
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[NSApp setServicesProvider:self];
}
- (void)IClicked:(NSPasteboard *)pboard userData:(NSString *)data error:(NSString **)error
{
NSLog(@"I clicked");
}
@end
y el extracto de mi Application-plist.info:
<key>NSServices</key>
<array>
<dict>
<key>NSKeyEquivalent</key>
<dict>
<key>default</key>
<string>E</string>
</dict>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>My Application</string>
</dict>
<key>NSMessage</key>
<string>IClicked</string>
<key>NSPortName</key>
<string>TestService</string>
<key>NSSendFileTypes</key>
<array>
<string>public.item</string>
</array>
<key>NSSendTypes</key>
<array>
<string>NSPasteboardTypeString</string>
</array>
<key>NSRequiredContext</key>
<dict>
<key>NSServiceCategory</key>
<string>public.item</string>
</dict>
<key>NSReturnTypes</key>
<array>
<string>NSPasteboardTypeString</string>
</array>
</dict>
</array>
</dict>
Cargué el código en http://www.petits-suisses.ch/TestService.zip .
¿Qué hice mal, o hay algún código de Cocoa que pueda descargar para entender lo que hice mal?
Gracias !