アーカイブ ‘ 2012年 8月16日

Mac OSでも楽チン ツイート その1 NSSharingService

iOS5では既に実現されている楽チン ツイートが10.8よりMac OSでも可能になった。

ざっくり分けると

  • NSSharingService
  • Social.framework

かと思われる。前者はSafari6の共有ボタンに見られるツイート機能と同じく、最も簡単にアプリケーションからツイートすることができる。ツイートのみでなくタイムライン取得やカスタマイズがしたい場合は後者を使うことになりそうだ。

まずは、NSSharingService。

NSSharingServiceDelegateプロトコルを追加して、

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{
	NSSharingService *service = [NSSharingService sharingServiceNamed:NSSharingServiceNamePostOnTwitter];
	service.delegate = self;
	[service performWithItems:[NSArray arrayWithObject:@"hello"]];
}

これだけ。実行すると次が表示される。

びっくりするほどシンプル。
ただし、事前に [システム環境設定 > インターネットとワイヤレス > メール/連絡先/カレンダー]でツイッターアカウントを登録しておく必要がある。もし、していなくてもアカウントの追加に導いてくれるのでこれまた楽チン。

もちろんツイッター以外の共有サービスも使用可能。Facebookは秋頃に追加されるらしい。

さらに、NSSharingServicePickerを使用するとまるっきり共有ボタンができてしまう。
これも、NSSharingServicePickerDelegateプロトコルを追加して、
適当なNSButtonを配置し下記アクションを接続する。

- (IBAction)twAction:(id)sender {
	NSSharingServicePicker *picker = [[NSSharingServicePicker alloc]initWithItems:[NSArray arrayWithObject:@"Hello"]];
	picker.delegate = self;
	[picker showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMinXEdge];
}

またまた、これだけ。次のように共有ボタンが作成できた。


以上の2つだけで、イメージなどを含むツイートなども作成できるようだ。

return top