我用这种方法添加了facebook登录信息:
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissionsArray, block: { (user: PFUser?, error: NSError?) -> Void in
if let user = user {
if user.isNew {
println("User signed up and logged in through Facebook!");
} else {
println("User logged in through Facebook!");
}
} else {
println("Uh oh. The user cancelled the Facebook login.");
}
})
但该块永远不会被执行。没有错误消息。 我按照Parse教程进行了所有这些步骤。 也许有人可以提供帮助?
答案 0 :(得分:0)
我不认为您在AppDelegate中实现了以下内容。只需检查这些方法的定义如下:
-(BOOL)application:(UIApplication )application openURL:(NSURL )url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:[PFFacebookUtils session]];
}
-(void)applicationDidBecomeActive:(UIApplication )application
{
[FBAppCall handleDidBecomeActiveWithSession:[PFFacebookUtils session]];
}
-(void)applicationWillTerminate:(UIApplication )application {
[[PFFacebookUtils session] close];
}
对于Swift,请按照以下步骤操作: -
/ Import this header into your Swift bridge header file
#import <ParseFacebookUtilsV4/PFFacebookUtils.h>
// AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Parse.setApplicationId("parseAppId", clientKey:"parseClientKey")
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
return true
}
在您的app delegate中,添加以下处理程序:
func applicationDidBecomeActive(application: UIApplication) {
FBSDKAppEvents.activateApp()
}
func application(application: UIApplication,
openURL url: NSURL,
sourceApplication: String?,
annotation: AnyObject?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
从此链接获得: - here
答案 1 :(得分:0)
我设法解决了这个问题。我的Facebook应用程序是问题,我更改了应用程序包和所有内容,但它仍然指的是错误的iOS应用程序。所以我不得不创建一个新的。