如何通过邮件,推特和Facebook从当前的应用程序分享或发布?

时间:2012-06-02 07:37:26

标签: iphone

我正在实施一个应用程序,我必须在Facebook上分享这些应用程序Twitter以及邮件。由于我的应用程序不是游戏,我只想提供应用程序图标,应用程序名称,该应用程序的iTunes链接以及应用程序的小描述。我已经实现了允许我发送附件邮件的代码。这有用吗?我怎么能这样做?

3 个答案:

答案 0 :(得分:13)

<强> 1。对于Facebook。

FBGraph 是在您的应用中使用 Facebook API 的更好方法。

下载 FBGraph API 文档文件夹,然后将其添加到您的文件夹中。阅读Facebook developer site上的说明。

这是the sample code,如果您对此有任何疑问,请与我们联系。

<强> 2。对于电子邮件

在项目中添加MessageUI.framework。导入ViewController.h文件中的头文件:

 #import <MessageUI/MFMailComposeViewController.h>

设置代理:

UIViewController<MFMailComposeViewControllerDelegate>

然后,打开你的邮件编辑器:

-(void)yourEmailbuttonClick:(id)sender
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    [picker setSubject:@"Hello!! your subject here"];

    // Set up recipients
    UIImage *image = [UIImage imageNamed:@"anyImage.png"];
    NSData *myData = UIImageJPEGRepresentation(image, 1.0);
    [picker addAttachmentData:myData mimeType:@"image/jpg" fileName:@"image"];
    [self presentModalViewController:picker animated:YES];
}


- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    // Notifies users about errors associated with the interface
    switch (result)
    {
        case MFMailComposeResultCancelled:
            //        message.text = @"Result: canceled";
            break;
        case MFMailComposeResultSaved:
            //        message.text = @"Result: saved";
            break;
        case MFMailComposeResultSent:
            //            message.text = @"Result: sent";
            break;
        case MFMailComposeResultFailed:
            //            message.text = @"Result: failed";
            break;
        default:
            //            message.text = @"Result: not sent";
            break;
    }
    [self dismissModalViewControllerAnimated:YES];
}

第3。对于Twitter

在项目中添加Twitter.framework。导入ViewController.h文件中的头文件并导入:

#import <Twitter/Twitter.h>

现在像这样调用Twitter作曲家视图:

-(void)yourTwitterbuttonClick:(id)sender
{
    if([TWTweetComposeViewController canSendTweet])
    {
        UIImage *image = [UIImage imageNamed:@"anyImage.png"];
        TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
        // Set initial text
        [tweetViewController setInitialText:@"your text here"];

        if (image)
        {
            [tweetViewController addImage: image];
        }

        tweetViewController.completionHandler = ^(TWTweetComposeViewControllerResult result)
        {
            if(result == TWTweetComposeViewControllerResultDone)
            {
                // The user finished composing a tweet
                alert.title=@"Status";
                alert.message=@"Tweet sent";
                [alert show];
            }
            else
                if(result == TWTweetComposeViewControllerResultCancelled)
                {
                    // The user cancelled composing a tweet
                    alert.title = @"Status";
                    alert.message = @"Tweet cancelled";
                    [alert show];
                }
            [self dismissViewControllerAnimated:YES completion:nil];
        };
        [self presentViewController:tweetViewController animated:YES completion:nil];
    }
}

答案 1 :(得分:2)

查看ShareKit

这是受支持的服务列表:

  

支持的服务:

     

美味   电子邮件   Facebook的   谷歌读者   Instapaper的   通知板   稍后阅读   tumblr   微博

答案 2 :(得分:2)