更新查询对象的解析ACL

时间:2018-02-04 05:36:26

标签: ios swift xcode acl parse-server

在我的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。

1 个答案:

答案 0 :(得分:0)

如果您知道要预先授予访问权限的对象,则可以在afterSave类的CloudCode User挂钩中更改其ACL:在afterSave中,测试是否用户刚刚创建(为了避免为后续保存请求重做此工作),然后查找对象并使用主密钥设置访问权限。