2012-04-24 19 views
5

पर पथ पुनर्प्राप्त करने के लिए एपीआई क्या ओएस एक्स के प्रत्येक उपयोगकर्ता के लिए एक अलग अस्थायी फ़ोल्डर है?ओएसएक्स: उपयोगकर्ता के ~/temp फ़ोल्डर

यदि हां, तो वर्तमान उपयोगकर्ता प्रोग्रामेटिक रूप से अस्थायी फ़ोल्डर पथ को कैसे पुनर्प्राप्त करें?

पीएस अपने स्वयं के ओएस एक्स फ़ाइल सिस्टम को देखकर, मुझे ऐसा फ़ोल्डर नहीं दिख रहा है।

उत्तर

5

मान लें कि आप उद्देश्य-सी और फाउंडेशन का उपयोग कर रहे हैं: NSTemporaryDirectory() उपयोगकर्ताओं को अस्थायी निर्देशिका के साथ NSString वापस करना चाहिए। मेरी मशीन पर यह निर्देशिका /var/folders/ के अंतर्गत है।

उदाहरण के लिए:

NSString *tempDirectory = NSTemporaryDirectory(); 

प्रलेखन का कहना है कि NSTemporaryDirectory() रिटर्न "वर्तमान उपयोगकर्ता के लिए अस्थायी निर्देशिका के रास्ते तो ऐसी कोई निर्देशिका वर्तमान में उपलब्ध है, नहीं के बराबर देता है।।"

2

ओएस एक्स नहीं करता है (या नहीं, प्रारंभिक शेर रिलीज के माध्यम से; 10.7.3 ऐसा करने लगता है) यूनिक्स जैसी स्क्रिप्ट या प्रोग्राम द्वारा उपयोग के लिए TMPDIR सेट करें, लेकिन कई जीयूआई प्रोग्राम प्रति उपयोगकर्ता अस्थायी का उपयोग करते हैं /var/folders के तहत निर्देशिका जिसे आप कुछ ऐप्पलस्क्रिप्ट (temporary items folder स्क्रिप्टिंग एडिशंस में) या NSTemporaryDirectory() के माध्यम से कहीं और नोट किया गया है, का उपयोग करके पुनर्प्राप्त कर सकते हैं।

+4

आपका क्या मतलब है? 'टीएमपीडीआईआरआर निश्चित रूप से मेरे सिस्टम पर सेट है। यह वही निर्देशिका है जो 'NSTemporaryDirectory()' द्वारा लौटाई गई है। –

+1

दिलचस्प; मैंने अभी जांच की है और ऐसा लगता है कि यह सेट हो रहा है। यह हाल ही में होना चाहिए, हालांकि, मेरे पास स्क्रिप्ट्स हैं जो इसे मेरे बाहरी ड्राइव को इंगित करने के लिए सेट करती हैं अगर यह जुड़ा हुआ था (और अब मुझे पता है कि जब वे उपयोग करते थे तो वे क्यों फायरिंग नहीं कर रहे थे)। – geekosaur

+0

'TMPDIR' एक हिम तेंदुए (10.6.8) मशीन पर सेट है जिसे मैंने अभी चेक किया है। – mttrb