我'm doing login via facebook in one of my app. For that I'使用 FBSessionLoginBehaviorWithFallbackToWebView
作为 FBSession
行为按照层次结构在FB安装的应用程序,Safari正常工作,但问题是登录Facebook系统应用程序 .
My code is as per below.
FBSession *session = [[FBSession alloc] initWithPermissions:@[@"public_profile",@"user_friends"]];
[FBSession setActiveSession:session];
[session openWithBehavior:FBSessionLoginBehaviorWithFallbackToWebView
completionHandler:^(FBSession *session,
FBSessionState status,
NSError *error) {
FBRequest *request = [FBRequest requestWithGraphPath:@"me/friends"
parameters:@{}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBRequestConnection *connection,
id result,
NSError *error){
FBUserDetail=(NSArray*)result;
NSLog(@"FBUSERDETAIL:%@",FBUserDetail);
cricoFrndArray=[FBUserDetail valueForKey:@"data"];
FBUserDetail=[FBUserDetail valueForKey:@"data"];
}];
}];
根据这个我能够通过Facebook安装的应用程序登录运行良好,即使用户没有安装Facebook应用程序,它将去facebook系统帐户,我收到错误,如果没有找到facebook系统帐户,那么它将去通过safari登录,运行良好 .
Error is as follow.
Error Domain = com.facebook.sdk Code = 2“无法完成操作 . (com.facebook.sdk error 2.)”UserInfo = 0x14da88c0 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk: SystemLoginCancelled,com.facebook.sdk:ErrorInnerErrorKey = Error Domain = com.apple.accounts Code = 7“Facebook服务器无法满足此访问请求:代理的应用程序无法在未先安装的情况下请求发布权限 . ” UserInfo = 0x14dacf40 {NSLocalizedDescription = Facebook服务器无法满足此访问请求:代理的应用程序无法在未安装之前请求发布权限 . },com.facebook.sdk:ErrorSessionKey =,expirationDate:(null),refreshDate:(null ),attemptsRefreshDate:0000-12-30 00:00:00 0000,权限:(null)>}