1

我正在实现一个应用程序,我必须从该应用程序在 Facebook、Twitter以及通过邮件共享该应用程序。由于我的应用程序不是游戏,我只想放置一个应用程序图标、应用程序名称、该应用程序的 iTunes 链接以及该应用程序的一个小描述。我已经实现了允许我发送带有附件的邮件的代码。在这里有用吗?我怎样才能做到这一点?

4

3 回答 3

13

1. 对于脸书。

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

下载FBGraph API文档文件夹,然后将其添加到您的文件夹中。阅读Facebook 开发者网站上的说明。

这是示例代码,如果您对此有任何疑问,请告诉我。

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.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];
    }
}
于 2012-06-02T13:57:23.580 回答
2

看看ShareKit

这是支持的服务列表:

支持的服务:

美味的电子邮件 Facebook 谷歌阅读器 Instapaper Pinboard 稍后阅读 Tumblr Twitter

于 2012-06-02T07:41:40.557 回答