使用SLComposeViewController 分享图片跟文字到FaceBook与Twitter

使用SLComposeViewController 分享图片和文字到FaceBook与Twitter


if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
        {
            self.slComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
            [self.slComposerSheet setInitialText:@"this is ios6 twitter"];
            [self.slComposerSheet addImage:[UIImage imageNamed:kPng]];
            [self.slComposerSheet addURL:[NSURL URLWithString:@"http://www.twitter.com/"]];
            [self presentViewController:self.slComposerSheet animated:YES completion:nil];
        }

        [self.slComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
            NSLog(@"start completion block");
            NSString *output;
            switch (result) {
                case SLComposeViewControllerResultCancelled:
                    output = @"Action Cancelled";
                    break;
                case SLComposeViewControllerResultDone:
                    output = @"Post Successfull";
                    break;
                default:
                    break;
            }
            if (result != SLComposeViewControllerResultCancelled)
            {
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Twitter Message" message:output delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
                [alert show];
            }
        }];





if ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=6) {
        if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
        {
        
        self.slComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
        [self.slComposerSheet setInitialText:@"this is facebook"];
        [self.slComposerSheet addImage:[UIImage imageNamed:kPng]];
        [self.slComposerSheet addURL:[NSURL URLWithString:@"http://www.facebook.com/"]];
        [self presentViewController:self.slComposerSheet animated:YES completion:nil];
        }
        
        [self.slComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
            NSLog(@"start completion block");
            NSString *output;
            switch (result) {
                case SLComposeViewControllerResultCancelled:
                    output = @"Action Cancelled";
                    break;
                case SLComposeViewControllerResultDone:
                    output = @"Post Successfull";
                    break;
                default:
                    break;
            }
            if (result != SLComposeViewControllerResultCancelled)
            {
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Facebook Message" message:output delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
                [alert show];
            }
        }];
        
    }

isAvailableForServiceType: 是用来验证你是否在手机里已经绑定了facebook或者Twitter的相关账号,所以 如果slComposerSheet为nil的时候你就应该先去看看是不是已经在手机里绑定好了账号和下载了app

 

下面是facebook发送图片的限制

使用SLComposeViewController 分享图片跟文字到FaceBook与Twitter


推荐文章:http://blog.****.net/eqera/article/details/8134999