2015-07-09 13 views
5

मैं पार्स आईओएस एसडीके का उपयोग कर रहा हूं, और मैं एक विशेष वर्ग ("_User" नहीं) के लिए ऑब्जेक्ट्स बना रहा हूं। हालांकि, मुझे इन वस्तुओं के एसीएल को संशोधित करने की आवश्यकता है ताकि कोई भी इसे पढ़ या लिख ​​सके। वर्तमान में, पार्स ने सार्वजनिक निर्मित और निर्माता लिखने के लिए नव निर्मित वस्तुओं के एसीएल को सेट किया है।मैं स्विफ्ट में एक पीएफओबीजेक्ट के एसीएल कैसे सेट करूं?

संक्षेप में, मुझे यकीन नहीं है कि एक पर्स ऑब्जेक्ट के एसीएल को स्विफ्ट में सार्वजनिक पढ़ने/लिखने के लिए कैसे सेट करें।

उत्तर

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

अद्यतन:

आप का उपयोग कर उपयोगकर्ताओं के एक बड़े समूह के लिखने की अनुमति सेट कर सकते हैं "भूमिकाओं":

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

आप पहली भूमिका बनाने के लिए होगा।

+2

"पीएफएसीएल के पास कोई सदस्य नहीं है 'setPublicReadAccess'" – rohaldb

+0

'setP ublicReadAccess' पीएफएसीएल में है, यहां दस्तावेज़ों में भी दिखाया गया है: https://parse.com/docs/ios/guide#security-object-level-access-control। हालांकि, यह अब एपीआई दस्तावेज के तहत सूचीबद्ध नहीं प्रतीत होता है। – kRiZ

7

यह अद्यतन किया गया है, अब इसे इस तरह से किया जाना चाहिए:

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

मैंने इसे अपने व्यू कंट्रोलर में रखा लेकिन कोई भाग्य नहीं है कि आपको कोई विचार है कि मैं क्या गलत कर रहा हूं? समाधान के लिए – mzonerz

2

आप अपने एसीएल सेटिंग्स आपके द्वारा बनाए गए सभी वस्तुओं के लिए आवेदन करना चाहते हैं आप कर सकते हैं:

  1. ओपन AppDelegate.swift
  2. didFinishLaunchingWithOptions विधि

    • आप PFACL (देख सकते हैं) इस तरह सेट किया गया है:

      let defaultACL = PFACL(); 
      
      // If you would like all objects to be private by default, remove this line. 
      defaultACL.setPublicReadAccess(true) 
      
  3. यहाँ, बस जोड़ें:

    defaultACL.setPublicWriteAccess(true) 
    
+1

Thx। बस यह जोड़ना चाहते हैं कि नवीनतम संस्करण में वाक्यविन्यास 'defaultACL.publicWriteAccess = true' है – rockhammer

2

पार्स iOS SDK 1.14.3 के रूप में:

let acl = PFACL() 
acl.getPublicReadAccess = true 
acl.getPublicWriteAccess = true 
object.acl = acl 
संबंधित मुद्दे