アプリのデリゲートに次のコードがあります。
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// attempt to extract a token from the url
self.openedURL = url;
// attempt to extract a token from the url
return [FBSession.activeSession handleOpenURL:url];
}
どうすればUIViewControllerから呼び出すことができますか??
編集:
- (IBAction)authButtonAction:(id)sender {
/*
AppDelegate *appDelegate =
[[UIApplication sharedApplication] delegate];*/
// The user has initiated a login, so call the openSession method
// and show the login UX if necessary.
//[appDelegate openSessionWithAllowLoginUI:YES];
// If the user is authenticated, log out when the button is clicked.
// If the user is not authenticated, log in when the button is clicked.
if (FBSession.activeSession.isOpen) {
[FacebookDialogueViewControllerDelegate closeSession];
} else {
// The user has initiated a login, so call the openSession method
// and show the login UX if necessary.
[FacebookDialogueViewControllerDelegate openSessionWithAllowLoginUI:YES];
}
}
...ビューコントローラーには次のものがあります:
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
return [FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}