我正在关注Facebook 自己的 iOS 中的 FB 登录教程(Objective-C),但每次我登录时 - 在初始权限授权屏幕之后 - 我都会收到臭名昭著的“你已经授权这个应用程序”webview。
我已经阅读了大量帖子,但我无法将其整理出来,因此(重新)发布。我觉得这很奇怪,因为该应用程序除了样板登录代码之外什么都没有。这种行为在模拟器和真实设备中都会发生。
这个应用程序适用于 iOS 9.0,我使用的是 FBSDK 4.7.1(通过 CocoaPods 安装):
pod 'FBSDKLoginKit', '~> 4.6'
代码本身是非常样板的东西,这是我的 AppDelegate.m:
#import "AppDelegate.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
@interface AppDelegate ()
@end
@implementation AppDelegate
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
return YES;
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
@end
和我的 ViewController.m:
#import "ViewController.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends"];
[loginButton setLoginBehavior:FBSDKLoginBehaviorSystemAccount]; // No difference
loginButton.center = self.view.center;
[self.view addSubview:loginButton];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
以及 Info.plist 的截图:
最后,我在控制台中也遇到了这两个错误:
2015-11-24 11:50:42.855 lixo[26941:389756] -canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"
2015-11-24 11:50:42.860 lixo[26941:389756] -canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"
尽管从我读到的内容来看,如果在 Info.plist 中设置了 LSApplicationQueriesSchemes,则可以安全地忽略这一点。
任何想法如何避免这种情况?

