2012-12-27 6 views
5

Auf Berglöwen, versuche ich, die neuen Sharing-Möglichkeiten mit der NSSharingService Klasse von AppKit.frameworkNSSharingService auf Löwenberg ohne Fenster teilen

Alles geht mit dieser Art von Code feinen

NSArray* array = @[ @"myText", [NSImage imageNamed:@"myImageFile"] ]; 

NSSharingService* sharingServiceFB = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnFacebook]; 

[sharingServiceFB performWithItems:array]; 

Aber ich Ich möchte dasselbe ohne das von der Funktion performWithItems generierte Freigabefenster tun. Da ich überlege, dass der Benutzer meiner Anwendung nicht bestätigen möchte, dass er die Nachricht senden möchte, wie er das bereits gewählt hat. Ich sehe keine "direkte Buchung" Funktion in dieser Klasse. Muss es anders gemacht werden?

+0

Haben Sie Neuigkeiten zu diesem Thema erhalten? Ich habe das gleiche Problem hier. Ich möchte mit einem Klick mehrere Dienste teilen und kein Blatt für jeden Dienst präsentieren und den Benutzer zwingen, jeden Dienst zu bestätigen. – CaptnCrash

Antwort

3

Es gibt keine Möglichkeit, diese anderen zu tun, als sich Facebook-API Implementierung, aber wenn man nicht das Fenster für eine halbe Sekunde erscheint nichts dagegen:

- (void)whatever { 
    NSArray* array = @[ @"myText", [NSImage imageNamed:@"myImageFile"] ]; 

    NSSharingService* sharingServiceFB = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnFacebook]; 

    [sharingServiceFB performWithItems:array]; 

    [self performSelector:@selector(pressReturn) withObject:nil afterDelay:0.5]; 
} 

- (void)pressReturn { 
    CGEventRef keypress = CGEventCreateKeyboardEvent(NULL, 36, TRUE); 
    CGEventPost(kCGHIDEventTap, keypress); 
} 

Ihre Benutzer könnte es allerdings nicht gefallen ...

Verwandte Themen