¿Cómo integrar el marco de Facebook en la aplicación en iOS6?
-
11-12-2019 - |
Pregunta
Todavía estoy usando la antigua API del gráfico de Facebook para publicar cosas en una pared de usuarios en mi aplicación.Dado que Facebook iOS6 se ha integrado en el sistema operativo.¿Cómo puedo usarlo para publicar cosas?Quiero usarlo de la misma manera que el marco de Twitter:
TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
[tweetViewController setInitialText:@"bla bla bla"];
[self dismissModalViewControllerAnimated:YES];
[self presentModalViewController:tweetViewController animated:YES];
Solución
Comenzando con iOS 6 Puede usar SlcomPongeViewController para todos los tipos de servicio compatibles como Twitter, Facebook y Weibo. Nota: No olvides agregar el Social.Framework
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
SLComposeViewController *fb = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[fb setInitialText:@"bla bla bla"];
[self presentModalViewController:fb animated:YES];
}
Otros consejos
Si desea que sus publicaciones vayan "a través de mi nombre de aplicación", puede usar Slíquest:
-(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://thoyorkingbear.com/social-framework-reference/ para el completoTutorial
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow