2009-02-20 8 views
16

विभिन्न उपयोगकर्ताओं द्वारा साझा किए जाने वाले एप्लिकेशन डेटा को संग्रहीत करने के लिए मैकोज़ एक्स पर मानक पथ क्या है? मैं अस्थायी डेटा के बारे में बात नहीं कर रहा हूं, लेकिन नियमित रूप से एक विशेष कार्यक्रम द्वारा उपयोग किया जाने वाला डेटा और किसी विशेष उपयोगकर्ता से संबंधित नहीं है। उदाहरण के लिए एक खेल हाईस्कॉर्क्स टेबल।मैक ओएस एक्स: मुझे सामान्य एप्लिकेशन डेटा कहां स्टोर करना चाहिए?

धन्यवाद,

एड्रियन

उत्तर

17

मुझे विश्वास है कि आप समर्थन फ़ाइलों के बारे में बात कर रहे हैं - एक फ़ाइल जो एप्लिकेशन का समर्थन करती है लेकिन चलाने के लिए आवश्यक नहीं है (उदाहरण के लिए आपकी हाईस्कॉर्क्स तालिका)।

इन फ़ाइलों को साझा उपयोगकर्ताओं के लिए ~/लाइब्रेरी/एप्लिकेशन समर्थन/YourApp या/लाइब्रेरी/एप्लिकेशन समर्थन/YourApp में रखा जाना चाहिए।

The Library Directory Stores App-Specific Files

+0

(NSApplicationSupportDirectory "आवेदन समर्थन फ़ाइलों का स्थान", जबकि NSLocalDomainMask का मतलब है, "वर्तमान मशीन-जगह इस मशीन पर सभी के लिए उपलब्ध आइटम स्थापित करने के लिए करने के लिए स्थानीय।") लेकिन एक sandboxed आवेदन नहीं कर सकते/लाइब्रेरी/एप्लिकेशन समर्थन, सही लिखें? इसलिए आपको या तो एक गैर-सैंडबॉक्स वाले एप्लिकेशन (खराब) की आवश्यकता है या आपको ~/लाइब्रेरी/एप्लिकेशन सपोर्ट पर लिखना है, जिस स्थिति में ओपी अनुरोध के अनुसार उपयोगकर्ताओं के बीच साझा नहीं किया गया है। –

1

कुछ अनुप्रयोग/उपयोगकर्ताओं/साझा-निर्देशिका में फ़ाइलों डाल दिया। मुझे पता है कि यह उपयोगकर्ताओं के बीच फ़ाइलों को साझा करने का मानक तरीका है, लेकिन मुझे 100% यकीन नहीं है कि यह एप्लिकेशन डेटा स्टोरेज के लिए सोचा गया है।

वहाँ/लाइब्रेरी * -फोल्डर है जो सिस्टमव्यापी आम डेटा के लिए सोचा जाता है, जो/उपयोगकर्ता/उपयोगकर्ता नाम/पुस्तकालय के समान है।

लेकिन आपको निश्चित रूप से application.app-directory में डेटा नहीं लिखना चाहिए। व्यवस्थापक अधिकारों के बिना उपयोगकर्ताओं को इन निर्देशिकाओं को लिखने का अधिकार भी नहीं होगा।

* = Or /System/Library. Need to verify. 
5

निर्देशिका पाने के लिए आपको निर्देशिका पैरामीटर "NSApplicationSupportDirectory" किया जा रहा है, और domainMask पैरामीटर "NSLocalDomainMask" होने के साथ, समारोह "NSSearchPathForDirectoriesInDomains" का उपयोग कर सकते हैं।

संबंधित मुद्दे