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

本文详细介绍了如何在iOS应用中实现与Facebook和Twitter的分享功能,包括设置初始文本、添加图片和链接,以及处理完成和取消操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



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发送图片的限制



推荐文章:http://blog.youkuaiyun.com/eqera/article/details/8134999

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值