【问题标题】:How to integrate Facebook framework in app on iOS6?如何在 iOS6 上将 Facebook 框架集成到应用程序中?
【发布时间】:2012-09-30 02:58:37
【问题描述】:

我仍在使用旧的 facebook graph api 在我的应用程序的用户墙上发布内容。自 iOS6 以来,facebook 已集成到操作系统中。我怎样才能用它来发布东西?我想像 twitter 框架一样使用它:

    TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
    [tweetViewController setInitialText:@"bla bla bla"];
    [self dismissModalViewControllerAnimated:YES];
    [self presentModalViewController:tweetViewController animated:YES];

【问题讨论】:

    标签: iphone objective-c facebook ios6


    【解决方案1】:

    从 iOS 6 开始,您可以将 SLComposeViewController 用于所有支持的服务类型,例如 Twitter、Facebook 和微博。 注意:不要忘记添加 Social.framework

    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
         SLComposeViewController *fb = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
         [fb setInitialText:@"bla bla bla"];
         [self presentModalViewController:fb animated:YES];
    }
    

    【讨论】:

      【解决方案2】:

      如果您希望您的帖子“通过我的应用名称”发送,您可以使用 SLRequest:

      -(IBAction)postMessage:(id)sender
      {
          // Create the URL to the end point
          NSURL *postURL = [NSURL URLWithString:@"https://graph.facebook.com/me/feed"];
      
          NSString *link = [[NSString alloc] init];
          NSString *message = [[NSString alloc] init];
          NSString *picture = [[NSString alloc] init];
          NSString *name = [[NSString alloc] init];
          NSString *caption = [[NSString alloc] init];
          NSString *description = [[NSString alloc] init];
      
          link = @"http://developer.apple.com/library/ios/#documentation/Social/Reference/Social_Framework/_index.html%23//apple_ref/doc/uid/TP40012233";
          message = @"Testing Social Framework";
          picture = @"http://www.stuarticus.com/wp-content/uploads/2012/08/SDKsmall.png";
          name = @"Social Framework";
          caption = @"Reference Documentation";
          description = @"The Social framework lets you integrate your app with supported social networking services. On iOS and OS X, this framework provides a template for creating HTTP requests. On iOS only, the Social framework provides a generalized interface for posting requests on behalf of the user.";
      
          NSDictionary *postDict = @{
          @"link": link,
          @"message" : message,
          @"picture" : picture,
          @"name" : name,
          @"caption" : caption,
          @"description" : description
          };
      
          SLRequest *postToMyWall = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodPOST URL:postURL parameters:postDict];
      
          FacebookAccountManager* sharedManager = [FacebookAccountManager sharedAccount];
          [postToMyWall setAccount:sharedManager.facebookAccount];
      
          [postToMyWall performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
          {
              if (error) {
                  // If there is an error we populate the error string with error
                  _errorString = [NSString stringWithFormat:@"%@", [error localizedDescription]];
      
                  // We then perform the UI update on the main thread. All UI updates must be completed on the main thread.
                  [self performSelectorOnMainThread:@selector(updateErrorString) withObject:nil waitUntilDone:NO];
              }
      
              else
              {
                  NSLog(@"Post successful");
                  NSString *dataString = [[NSString alloc] initWithData:responseData encoding:NSStringEncodingConversionAllowLossy];
                  NSLog(@"Response Data: %@", dataString);
              }
           }];
      
          // Tidy Up
          link = nil;
          message = nil;
          picture = nil;
          name = nil;
          caption = nil;
          description = nil;
          postDict = nil;
          postToMyWall = nil;
          postURL = nil;
      
      }
      

      http://theworkingbear.com/social-framework-reference/ 了解完整演练

      【讨论】:

        猜你喜欢
        • 2011-06-27
        • 1970-01-01
        • 2011-03-09
        • 2011-02-05
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-01
        相关资源
        最近更新 更多