3

次のコードを使用して、Twitter統合のためにiOS6でSocialFrameworkを使用しています。

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
controller.completionHandler = ^(SLComposeViewControllerResult result) {
    if (result == SLComposeViewControllerResultCancelled) {
      // cancelled
    } else if (result == SLComposeViewControllerResultDone) {
      // done
    } else {
      // unknown
    }
    [controller dismissViewControllerAnimated:YES completion:nil];
};
[self presentViewController:controller animated:YES completion:Nil];

ユーザーが古いメッセージの1つと同じツイートメッセージを設定すると、「ツイート「xxx」は重複しているため送信できません」というポップアップが表示されます。ただし、完了ハンドラーの結果値はSLComposeViewControllerResultDoneのままです。ツイートが本当に送信されたかどうかを知る方法はありますか?TWTweetComposeViewControllerでも同じ動作が発生しているようです。

4

1 に答える 1

8

iOS 5のTwitter統合では、

TWTweetComposeViewControllerResultには2つのオプションがあります

ユーザーが完了を選択した場合--TWTweetComposeViewControllerResultDone

ユーザーがキャンセルを選択した場合--TWTweetComposeViewControllerResultCancel

この結果は、バックグラウンドでアップルによって更新されたツイートに依存しません。更新中にツイートが失敗すると、アラートが表示されます。

したがって、成功または失敗のためにカスタムポップアップを実装しないことをお勧めします。アップル自体が成功/失敗のツイート更新の表示を実装したため。成功すると音が鳴り、失敗すると理由のあるポップアップが表示されます。

于 2012-12-31T14:47:48.747 に答える