iOSのSocialFrameworkを使う前にアカウントの設定をしておこう
iOS開発で「ツイートボタンを実装したい」という場面はよくあると思います。これについてサンプルコードをぐぐったりすると、ビューを生成したりする前に以下のような条件が書かれています。
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
このisAvailableForServiceTypeですが、そのメソッド名の通り特定のサービスが利用可能かどうかを真偽値で返します。リファレンスにはこう書かれています。
Returns whether you can send a request for a particular service type. For the account to be available, the user must be logged into the social service in the device settings.
(特定のサービスタイプにリクエストを送れるどうかを返します。アカウントを有効にするには、ユーザーがデバイスの設定からサービスにログインしている必要があります。)
つまり、ログインしていないと使えないよということです。当たり前ですね。 iOSシミュレータでアカウントの設定をするには、実機と同じように「設定(Settings)」アプリを起動して使いたいサービスにログインすればオッケーです。
蛇足ですが、これをやるのに昨年に自分で撮ったスクリーンキャストがすごい役立ちました。ブログにしろスクリーンキャストにしろ、やったことはネット上に残しておくと便利ですね。
【Xcode4.6】「Twitter連携アプリ」iPhoneアプリ開発 入門者向けチュートリアル ...