MacでもSocial.framework

この記事は最終更新日から 約12年が経過しているので情報が古い可能性があります。

twitterに直接投稿だけするのに、なんかもっと簡単な方法はないものかとググっていたら、Social.frameworkというのに辿り着きました。
これって、iOS向けだけなのかと思っていたら、OS Xでも10.8から使えるようになってたのですね :wink_wp:

でも、Social Framework Referenceを見ても、SLRequestをどうすればいいのか良くわかりません。

さらにググってみたところ、iOS6のSocial.frameworkを試してみた – 中継地点にて、iOS向けのソースが掲載されていました。そのままOS Xでも使えそうです。(感謝感謝)

で、「標準の投稿画面を使用せずにカスタムビュー等で直接投稿する方法」の頭の
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {と最後の}を省いたものを、コピー。

Accounts.frameworkとSocial.frameworkを追加して、
#import <Social/Social.h>
#import <Accounts/Accounts.h>
をヘッダーファイルに追加で、ビルド。

あれ、エラー発生 :sad_wp:

POST statuses/update | Twitter Developersを見たところ、

Resource URLが、「https://api.twitter.com/1.1/statuses/update.json」に変更になっているようなので、

NSURL *url = [NSURL URLWithString:@"http://api.twitter.com/1/statuses/update.json"];

NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1.1/statuses/update.json"];に修正して、ビルド。
最初のみ、接続許可のダイアログが表示されるものの、投稿に成功。 :biggrin_wp:

10.8に限定されてしまいますが、直接投稿するだけなら、これで問題なさそう

コメント

タイトルとURLをコピーしました