大佬教程收集整理的这篇文章主要介绍了关闭应用程序时,IOS会丢失FBSession,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_419_7@我正在敲打我的头,因为我在应用程序关闭时失去了这个会话.我已经附上了我的appDelegate.
@H_419_7@AppDelegate.m@H_419_7@
#import "AppDelegate.h" @implementation AppDelegate NSString *const FBSessionStateChangedNotification=@"ro.Tag:FBSessionStateChangedNotification"; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [self openSessionWithAllowLoginUI:NO]; NSLog(@"%@",[[FBSession activeSession] accessToken]); return YES; } - (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was prevIoUsly in the background,optionally refresh the user interface. // We need to properly handle activation of the application with regards to SSO // (e.g.,returning from iOS 6.0 authorization dialog or from fast app switching). [FBSession.activeSession handleDidBecomeActive]; } /* * Callback for session changes. */ - (void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError *)error { switch (state) { case FBSessionStateOpen: if (!error) { // We have a valid session NSLog(@"User session found"); NSLog(@"session %@",session); } break; case FBSessionStateClosed: case FBSessionStateClosedLoginFailed: [FBSession.activeSession closeAndClearTokenInformation]; break; default: break; } [[NSNotificationCenter defaultCenter] postNotificationName:FBSessionStateChangedNotification object:session]; if (error) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; } } /* * Opens a Facebook session and optionally shows the login UX. */ - (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI { NSArray *permissions = [[NSArray alloc] initWithObjects: @"email",@"user_games_activity",@"user_location",@"user_likes",@"user_birthday",nil]; //NSLog(@"permissions: %@",permissions); return [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:allowLoginUI completionHandler:^(FBSession *session,FBSessionState state,NSError *error) { [self sessionStateChanged:session state:state error:error]; }]; } /* * If we have a valid session at the time of openURL call,we handle * Facebook transitions by passing the url argument to handleOpenURL */ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { // attempt to extract a token from the url return [FBSession.activeSession handleOpenURL:url]; } /* *logout * */ - (void) closeSession { [FBSession.activeSession closeAndClearTokenInformation]; } @end
以上是大佬教程为你收集整理的关闭应用程序时,IOS会丢失FBSession全部内容,希望文章能够帮你解决关闭应用程序时,IOS会丢失FBSession所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。