我已将我的iOS应用程序(使用Swift)迁移到Parse Server并集成了Facebook注册。
通过Facebook登录创建新用户时,不会创建新的Session对象。因此,它不允许用户更改其个人资料图片等(当用户尝试更新其用户信息时,出现以下错误错误:
* [错误]:无法修改用户**********(代码:206,版本:1.14.2)*
只有在Facebook用户注销然后再次登录后,才会创建会话对象。
如何在注册新Facebook用户时创建Session对象,以便他们可以更新用户信息,就像通过常规标准解析登录方法创建一样?
这是我注册Facebook的代码。注意:我使用以下方法,更新新创建的用户,然后保存用户:
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions) {
(user: PFUser?, error: NSError?) -> Void in
...
user.email = someEmail
user.username = someUsername
user["profilePicture"] = someFile
...
user.saveInBackgroundWithBlock({
(succeeded: Bool, error: NSError?) -> Void in
...
}
我甚至尝试在AppDelegate.swift中添加/删除PFUser.enableRevocableSessionInBackground
代码行,但没有改变:
// *** Initialize Parse. ***
let config = ParseClientConfiguration(block: {
(ParseMutableClientConfiguration) -> Void in
ParseMutableClientConfiguration.applicationId = appKey;
ParseMutableClientConfiguration.clientKey = clientKey;
ParseMutableClientConfiguration.server = serverURL;
});
Parse.initializeWithConfiguration(config);
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
PFUser.enableRevocableSessionInBackground()
答案 0 :(得分:0)
更新:从v2.2.11到v2.2.22更新了我的解析服务器,似乎解决了这个问题......