2015-07-09 13 views
5

Sto usando il Parse iOS SDK e sto creando oggetti per una particolare classe (non "_User"). Tuttavia, ho bisogno di modificare l'ACL di questi oggetti in modo che chiunque può leggerlo o scriverlo. Attualmente, Parse imposta l'ACL degli oggetti appena creati in Lettura pubblica e Scrittura creatore.Come si imposta l'ACL di un PFObject in Swift?

In breve, non sono sicuro di come impostare l'ACL di un oggetto Parse su public read/write in Swift.

risposta

4
let acl = PFACL() 
acl.setPublicReadAccess(true) 
acl.setPublicWriteAccess(true) 
yourObject.ACL = acl 

UPDATE:

È possibile impostare i permessi di scrittura ad un gruppo più ampio di utenti che utilizzano "ruoli":

acl.setWriteAccess(true, forRoleWithName:"everyone") 

Si dovranno creare il primo ruolo.

+2

"PFACL non ha membro 'setPublicReadAccess'" – rohaldb

+0

'setP ublicReadAccess' è in PFACL, anch'esso mostrato nella documentazione qui: https://parse.com/docs/ios/guide#security-object-level-access-control. Tuttavia, non sembra più elencato nella documentazione di api. – kRiZ

7

E 'stato aggiornato, ora, dovrebbe essere fatto in questo modo:

let acl = PFACL() 
acl.publicReadAccess = true 
acl.publicWriteAccess = true 
yourObject.ACL = acl 
+0

lo metto nel mio viewcontoller ma non hai idea di cosa stai facendo male? – mzonerz

2

Se si desidera che le impostazioni ACL si applicano per tutti gli oggetti creati, è possibile:

  1. Aprire AppDelegate.swift
  2. nel metodo didFinishLaunchingWithOptions

    • Si poteva vedere PFACL() è impostato in questo modo:

      let defaultACL = PFACL(); 
      
      // If you would like all objects to be private by default, remove this line. 
      defaultACL.setPublicReadAccess(true) 
      
  3. Qui, basta aggiungere:

    defaultACL.setPublicWriteAccess(true) 
    
+1

Thx per soluzione. Voglio solo aggiungere che l'ultima versione ha sintassi 'defaultACL.publicWriteAccess = true' – rockhammer

2

Come di Parse iOS SDK 1.14.3:

let acl = PFACL() 
acl.getPublicReadAccess = true 
acl.getPublicWriteAccess = true 
object.acl = acl