2012-12-27 27 views
5

dzielenie na górskim lwem, próbuję nowych mozliwosci dzielenia się z klasą NSSharingService z AppKit.frameworkNSSharingService na górskiego lwa bez okna

Wszystko idzie dobrze z tego rodzaju kodu

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

NSSharingService* sharingServiceFB = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnFacebook]; 

[sharingServiceFB performWithItems:array]; 

Ale ja” Chciałbym zrobić to samo bez okna udostępniania wygenerowanego przez funkcję performWithItems. Ponieważ uważam, że użytkownik mojej aplikacji nie chce potwierdzić, że chce wysłać wiadomość, ponieważ już to wybrał. Nie widzę żadnej funkcji "bezpośredniego publikowania" w tej klasie. Czy trzeba to zrobić w inny sposób?

+0

Czy otrzymałeś jakieś wiadomości dotyczące tego tematu? Mam ten sam problem tutaj. Chcę udostępnić wiele Usług jednym kliknięciem i nie przedstawiać arkusza dla każdej usługi i zmusić użytkownika do potwierdzenia każdej usługi. – CaptnCrash

Odpowiedz

3

Nie ma sposobu, aby to zrobić inny niż wdrożenie Facebook API siebie, ale jeśli nie masz nic przeciwko pojawiającym się oknie na pół sekundy:

- (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); 
} 

Użytkownicy mogą nie podoba, choć ...