2

以下を使用するアプリを作成しました。

SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter

コードは正常に動作しているようで、Facebook と Twitter に投稿しますが、投稿が完了してアプリ ビューに戻ると、どのコントロールもアクティブではなく、アプリを閉じて再起動して再び機能させる必要があります。 .

私は IF ステートメント (以下に投稿) で誤ってコードをネストしたと思うので、誰かアドバイスを提供できるかどうか疑問に思っていました。

私はXcodeなどに非常に慣れていないので、辛抱強く親切にしてください:-)

前もって感謝します

ピート

- (IBAction)postButton:(id)sender

{ if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])

{
    SLComposeViewController *facebook = [[SLComposeViewController alloc] init];

    ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]);

    {
        SLComposeViewController *twitter = [[SLComposeViewController alloc] init];

        facebook = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
        [facebook setInitialText:[[self statusMessage]text]];

        twitter = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
        [twitter setInitialText:[[self statusMessage]text]];

        [self presentViewController:facebook animated:YES completion:nil];

        [facebook setCompletionHandler:^(SLComposeViewControllerResult result)

        {
            NSString *output;
            switch (result)
            {
                case SLComposeViewControllerResultCancelled:
                    output = @"Action Cancelled";
                    break;
                case SLComposeViewControllerResultDone:
                    output = @"Post Sucessfull";
                default:
                    break;
            }

            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Facebook" message:output delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alert show];

            [self presentViewController:twitter animated:YES completion:nil];

            [twitter setCompletionHandler:^(SLComposeViewControllerResult result)

            {
                NSString *output;
                switch (result)

                {
                    case SLComposeViewControllerResultCancelled:
                        output = @"Action Cancelled";
                        break;
                    case SLComposeViewControllerResultDone:
                        output = @"Tweet Sucessfull";
                    default:
                        break;
                }

                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Twitter" message:output delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
                [alert show];

            }];
        }

         ];}
}

}

4

0 に答える 0