在我的iOS应用程序中,我正在制作PFObject并将其保存到Parse。稍后,创建用户的帐户(之前不存在),并尝试修改它但不能,因为PFObjects的ACL未设置为允许该帐户用户有权限。如何在Parse中修改现有对象的ACL以允许该用户访问?我不想要允许公共写访问。
如果给出正确的Success!
查询参数,则以下代码打印code
,但是当我在Parse中检查ACL时,它根本没有更新。
let query = PFQuery(className: "Bike")
query.whereKey("bikeID", equalTo: code)
query.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
guard let obj = objects?[0], error == nil else {
print("Error")
return
}
obj.acl?.setWriteAccess(true, for: PFUser.current()!)
obj.saveInBackground { (success: Bool, error: Error?) in
if error != nil {
print(error!.localizedDescription)
}
else {
print("Success!")
}
}
}
This post似乎暗示无法通过我的应用程序的Swift代码更改ACL。
答案 0 :(得分:0)
如果您知道要预先授予访问权限的对象,则可以在afterSave
类的CloudCode User
挂钩中更改其ACL:在afterSave
中,测试是否用户刚刚创建(为了避免为后续保存请求重做此工作),然后查找对象并使用主密钥设置访问权限。