TWTweetComposeViewController を使用して、ユーザーが [設定] -> [Twitter] に追加したユーザーの Twitter アカウントにアクセスしています。アプリが Twitter アカウントにアクセスしようとすると、次のようなメッセージを含むアラートが表示されます。
"[AppName] Would Like Access to Twitter Accounts"
「許可しない」または「OK」をタップできます。「OK」をタップすると実際にtwitterにアクセスできるようになるので、これはOS自体が表示するアラートだと思います。
上記のアラートは、iOS 5.x デバイスでテストすると表示されますが、iOS 6 デバイスでテストすると表示されません。次のメッセージを送信するとアラートが表示されると思いますが、設定で Twitter へのアプリ アクセスをまだ取得していません。
[TWTweetComposeViewController canSendTweet]
説明されているように、それは起こりません。これが iOS 6 の既知のバグかどうか知っている人はいますか? SOに関する投稿を見つけることができませんでした。別の動作の理由が他に見つからないため、バグだと思います。
参考までに、次の 2 つのデバイスでこれをテストしています。
- iOS 5.1 を搭載した iPhone 4
- iOS 6.0 搭載の iPhone 4
アップデート
次の方法で iOS 5 をチェックするDETweetComposeViewControllerを使用します。
+ (BOOL)de_isIOS5
{
return (NSClassFromString(@"NSJSONSerialization") != nil);
}
しかし、NSJSONSerialization クラスは iOS 6 にも含まれているため、これが理由になることはありません。