用户,
我试图将currentUser设置为Installation对象。我遵循AnyPic项目的代码逻辑,但只有在应用程序启动时才会调用beforeSave
方法。因此,如果某人安装了应用程序(ofc atm,他未经过身份验证),则CC中的request.user为空。
所以我以为我打电话了
[[PFInstallation currentInstallation] saveInBackground];
当用户注册/登录成功时。但不幸的是beforeSave
没有被调用。
我知道我也可以在客户端进行设置,但我希望将来可以阻止它。
CC Installations beforeSave
Parse.Cloud.beforeSave(Parse.Installation, function(request, response) {
Parse.Cloud.useMasterKey();
console.log("user"+request.user);
if (request.user) {
request.object.set('user', request.user);
} else {
request.object.unset('user');
}
response.success();
});
在iOS上调用安装更新
[[PFInstallation currentInstallation] saveInBackground];
答案 0 :(得分:0)
我认为当你调用saveInBackground时,它甚至都没有请求保存对象,因为没有进行任何更改。
相反,在客户端,如果用户未登录则设置用户或取消设置,然后保存为saveInBackground。在CloudCode中,我使用beforeSave来覆盖客户端的请求参数。
所以你需要做的就是在调用saveInBackground之前在[PFInstallation currentInstallation]中进行或进行任何更改。