我正在遵循this教程来集成facebook登录和messenger。当我编译代码的第一部分时,我收到错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'You must initialize PFFacebookUtils with a call to +initializeFacebookWithApplicationLaunchOptions'
我遇到了多个线程,包括this one,但是这在我已经使用的新版本中已经修复了,因此不能应用于修复我的问题。
我连接了一个运行教程代码的按钮:
- (IBAction)loginWithFacebook:(id)sender
{
// Set permissions required from the facebook user account
NSArray *permissionsArray = @[ @"user_about_me", @"user_relationships", @"user_birthday", @"user_location"];
// Login PFUser using Facebook
[PFFacebookUtils logInInBackgroundWithReadPermissions:permissionsArray block:^(PFUser *user, NSError *error)
{
if (!user)
{
NSLog(@"Uh oh. The user cancelled the Facebook login.");
}
else if (user.isNew)
{
NSLog(@"User signed up and logged in through Facebook!");
}
else
{
NSLog(@"User logged in through Facebook!");
}
}];
}另外,我的AppDelegate.m有:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
return YES;
}发布于 2015-12-22 13:28:19
该指南没有提到使其工作所需的所有代码。Parse在他们的iOS Guide中确实有更多的信息。要具体解决此问题,请在didFinishLaunchingWithOptions方法中将FBSDKApplicationDelegate调用替换为以下内容:
[PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions];发布于 2015-12-23 02:44:08
我做了更多的研究,偶然发现了this问题。我把它和乔伊的答案结合起来,我让它起作用了。
首先,我替换了
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
使用
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
然后,我转到我的信息plist,将LSApplicationQueriesSchemes类型从字符串更改为字符串数组,并添加了项fbauth2
https://stackoverflow.com/questions/34397142
复制相似问题