2012-12-27 10 views
5

を共有することなく、私はすべてがコードNSSharingServiceは山のライオンに山のライオンにウィンドウ

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

NSSharingService* sharingServiceFB = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnFacebook]; 

[sharingServiceFB performWithItems:array]; 

のこの種の罰金行くAppKit.framework

のNSSharingServiceクラスに新しい共有possiblitiesを試してみてくださいしかし、私は」 performWithItems関数によって生成された共有ウィンドウなしで同じことをしたい。 私のアプリケーションのユーザーは、彼がすでにそれを選択したので、彼がメッセージを送信することを確認したくないと思っています。 このクラスには「直接投稿」機能はありません。 別の方法で行う必要がありますか?

+0

このトピックに関するニュースはありますか?私はここで同じ問題があります。 1回のクリックで複数のサービスに共有し、各サービスごとにシートを提示せずに、すべてのサービスをユーザーに確認させたいと思っています。 – CaptnCrash

答えて

3

は自分をFacebookのAPIを実装するよりも、この他を行う方法はありませんが、あなたが0.5秒間表示されるウィンドウを気にしない場合:

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

ユーザーはいえ、それを好きではないかもしれません...