我正在实现一个应用程序,我必须从该应用程序在 Facebook、Twitter以及通过邮件共享该应用程序。由于我的应用程序不是游戏,我只想放置一个应用程序图标、应用程序名称、该应用程序的 iTunes 链接以及该应用程序的一个小描述。我已经实现了允许我发送带有附件的邮件的代码。在这里有用吗?我怎样才能做到这一点?
问问题
1910 次
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
于 2012-06-02T07:41:40.557 回答
2
于 2012-06-02T09:36:08.450 回答