2016-07-02 15 views
0

Parse-Server-Version: 2.1.14 // Parse Armaturenbrett Version 1.0.14Parse Server ACL

ich einige ACL einrichten bin versucht. Für meine Game Klasse, ich habe CLP wie so ein: enter image description here

Und in Cloud-Code vor dem Speichern, Ich gründe ACL wie folgt aus:

// Set ACL 
var player1 = game.get('player1') 
var player2 = game.get('player2') 
var acl = new Parse.ACL() 
acl.setReadAccess(player1.id, true) 
acl.setReadAccess(player2.id, true) 
acl.setWriteAccess(player1.id, true) 
acl.setWriteAccess(player2.id, true) 
game.setACL(all) 

Dieser Code funktioniert wie ACL ordnungsgemäß aktualisiert wird, in db. Aber wenn ich versuche, ein Spiel mit player1 in meinem iOS-App zu lesen, erhalte ich:

[Error]: Object not found for update. (Code: 101, Version: 1.13.0) 

Was bin ich hier? Mein Ziel ist, dass nur Spieler 1 und 2 ein Spiel lesen oder schreiben können. Und niemand kann Feld löschen oder hinzufügen.

PS: Ich habe Zeiger-Erlaubnis auf Spieler 1 und 2 anstelle von ACLs versucht, aber ich bekomme den gleichen Fehler.

+0

markieren Sie die Frage mit Swift, aber ich sehe es nicht eine einzige Zeile Code Swift hier –

+0

OK war nur iOS bezogen. Ich habe es entfernt. Vielen Dank –

Antwort

0

Versuchen Sie, CLPs anstelle von ACLs zu verwenden.

Schritt 1: Fügen Sie dem Spielobjekt player1 und player2 zwei Zeigerfelder hinzu.

Step 1

Schritt 2: in der Sicherheitsabteilung des Armaturenbretts, wo es heißt „Die Rolle, Benutzer oder Pointer“ Typ „player1“ und „player2“, dann können Sie die Spieler die Erlaubnis geben und die öffentlichen Optionen deaktivieren . Hier ist ein Screenshot.

Step 2