我是 iOS 新手,尤其是 facebook 等社交媒体框架。我试图了解 facebook 提供的教程,但他们以 xib 格式进行,我似乎迷路了。我尝试使用情节提要构建应用程序。请为我提供一些使用情节提要创建 iOS 6 facebook 登录应用程序的链接。谢谢
问问题
401 次
1 回答
0
首先,您需要将社交和帐户框架导入您的应用程序。在故事板上添加按钮。并将 SlComposerCode 写入该按钮。
-(Void)BtnClicked:(id)sender
{
ACAccountType *facebookTypeAccount = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
[accountStore requestAccessToAccountsWithType:facebookTypeAccount
options:@{ACFacebookAppIdKey: @"131740927031850", ACFacebookPermissionsKey: @[@"email"]}
completion:^(BOOL granted, NSError *error) {
if(granted){
NSArray *accounts = [accountStore accountsWithAccountType:facebookTypeAccount];
_facebookAccount = [accounts lastObject];
ACAccountCredential *fbCredential = [_facebookAccount credential];
accessToken = [fbCredential oauthToken];
NSLog(@"Facebook Access Token: %@", accessToken);
NSLog(@"Success");
[self facebook];
}else{
NSLog(@"Fail");
NSLog(@"Error: %@", error);
}
}];
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[tweetSheet setInitialText:@"posting from my own app! :)"];
[tweetSheet addURL:[NSURL URLWithString:@"www.google.com"]];
[tweetSheet addImage:[UIImage imageNamed:@"57.png"]];
[self presentViewController:tweetSheet animated:YES completion:nil];
}
else
{
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Sorry"
message:@"You can't send a tweet right now, make sure your device has an internet connection and you have at least one Twitter account setup"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
- (void)facebook
{
NSURL *meurl = [NSURL URLWithString:@"https://graph.facebook.com/me"];
NSLog(@"URl:-%@",meurl);
SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:meurl
parameters:nil];
merequest.account = _facebookAccount;
[merequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSString *meDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"Parsed Data:-%@", meDataString);
}];
}
试试这个代码。
于 2013-09-24T06:50:58.933 回答