39

この警告メッセージを取り除く必要があるというだけで、私のコードは期待どおりに機能しています。TWTeetComposeViewControllerはIOS6で非推奨になりました。iOS6のこの組み込みのビューコントローラーの代替品はありますか?

これが私のサンプルコードです。

if ([TWTweetComposeViewController canSendTweet]) {
    // Initialize Tweet Compose View Controller
    TWTweetComposeViewController *vc = [[TWTweetComposeViewController alloc] init];
    // Settin The Initial Text
    [vc setInitialText:@"This tweet was sent using the new Twitter framework available in iOS 5."];
    // Adding an Image
    UIImage *image = [UIImage imageNamed:@"sample.jpg"];
    [vc addImage:image];
    // Adding a URL
    NSURL *url = [NSURL URLWithString:@"http://mobile.tutsplus.com"];
    [vc addURL:url];
    // Setting a Completing Handler
    [vc setCompletionHandler:^(TWTweetComposeViewControllerResult result) {
        [self dismissModalViewControllerAnimated:YES];
    }];
    // Display Tweet Compose View Controller Modally
    [self presentViewController:vc animated:YES completion:nil];
} else {
    // Show Alert View When The Application Cannot Send Tweets
    NSString *message = @"The application cannot send a tweet at the moment. This is because it cannot reach Twitter or you don't have a Twitter account associated with this device.";
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Oops" message:message delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
    [alertView show];
}
4

2 に答える 2

68

iOS5とiOS6の間でソーシャルネットワークを使用することにいくつかの変更があります
。1。ライブラリについて:iOS 6では、Twitterフレームワークの代わりにソーシャルフレームワークを使用します。
2.TWTweetComposeViewControllerの代わりにSLComposeViewControllerを使用します。
3.いくつかのAPIを次のコードと比較してください。

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {

        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

        SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
            if (result == SLComposeViewControllerResultCancelled) {

                NSLog(@"Cancelled");

            } else

            {
                NSLog(@"Done");
            }

            [controller dismissViewControllerAnimated:YES completion:Nil];
        };
        controller.completionHandler =myBlock;

        //Adding the Text to the facebook post value from iOS
        [controller setInitialText:@"Test Post from mobile.safilsunny.com"];

        //Adding the URL to the facebook post value from iOS

        [controller addURL:[NSURL URLWithString:@"http://www.mobile.safilsunny.com"]];

        //Adding the Image to the facebook post value from iOS

        [controller addImage:[UIImage imageNamed:@"fb.png"]];

        [self presentViewController:controller animated:YES completion:Nil];

    }
    else{
        NSLog(@"UnAvailable");
    }

少し違いがありますが、もっと素晴らしいです。

設定:-safilsunnyのヒント:http ://www.mobile.safilsunny.com/integrating-facebook-ios-6/

ありがとう、

于 2013-05-11T06:23:28.557 に答える
27

はい、iOS6でSocialFrameworkを使用することになっていますこれは、iOSに現在存在するFacebook統合のおかげです。そこからツイッターやフェイスブックが使えるようになります。

于 2012-10-01T21:29:24.367 に答える