iOS 6.0 でボタンをクリックすると Facebook に接続する必要があります。フレームワークのソーシャルとアカウントをプロジェクトに追加しました。場所にチェックインすることはできますが、Facebook に投稿しているものに友達をタグ付けすることはできません。Facebookの友達リストを取得するには?
私が使用したコードを以下に示します。
- (IBAction)connectToFacebook:(id)sender
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary *options = @{
@"ACFacebookAppIDKey": @"412590558803147",
@"ACFacebookAppVersionKey": @"1.0",
@"ACFacebookPermissionsKey": @"publish_stream",
@"ACFacebookPermissionGroupKey": @"write"
};
NSLog(@"options is %@",options);
[accountStore requestAccessToAccountsWithType:accountType options:options
completion:^(BOOL granted, NSError *error) {
if (granted)
{
NSArray *accounts = [accountStore
accountsWithAccountType:accountType];
NSString *facebookAccount = [accounts lastObject];
NSLog(@"facebook account %@", facebookAccount);
} else {
NSLog(@"%@",error);
// Fail gracefully...
}
}];
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
if (result == SLComposeViewControllerResultCancelled) {
NSLog(@"Cancelled");
} else
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Posted!!!" message:@"your status is posted to facebook successfully" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
[controller dismissViewControllerAnimated:YES completion:Nil];
};
controller.completionHandler =myBlock;
[controller setInitialText:@"This is a ios 6.0 facebook intergration application"];
[controller addImage:[UIImage imageNamed:@"spalshimage.jpeg"]];
[self presentViewController:controller animated:YES completion:Nil];
}
else{
NSLog(@"UnAvailable");
}
}