2012-06-02 25 views
1

我正在執行一個應用程序,我必須在Facebook上分享這些應用程序,Twitter以及郵件。由於我的應用程序不是遊戲,我只想將該應用程序的應用程序圖標,應用程序名稱,iTunes鏈接以及應用程序的小說明。我已經實現了允許我發送帶附件的郵件的代碼。這有用嗎?我怎樣才能做到這一點?如何通過郵件,Twitter和Facebook從當前應用程序分享或發佈?

回答

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.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 
       [email protected]"Status"; 
       [email protected]"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]; 
    } 
} 
+0

謝謝你......你告訴Facebook的Twitter和郵件,但你能PLZ告訴我相同的linkedIn? – Trup

+2

對不起@ user1411780 - 我沒有使用linkedIn API,但如果我得到它,我一定會分享知識... :) – TheTiger

2

看看ShareKit

這是支持服務的列表:

支持的服務:

美味 電子郵件 Facebook的 谷歌閱讀器 Instapaper的 插件板 閱讀它後來 的tumblr Twitter的

相關問題