2013-02-26 182 views
5

में प्रोग्राम निर्देशिका मैं एक ओएसएक्स-एप्लिकेशन विकसित कर रहा हूं और इसमें, मैं जानना चाहता हूं कि वर्तमान निर्देशिका क्या है (यानी निर्देशिका जो .app-file रखती है)।उद्देश्य-सी (ओएसएक्स)

NSString *dir=[[NSFileManager defaultManager] currentDirectoryPath]; 
[[NSAlert alertWithMessageText:@"dir" 
       defaultButton:@"OK" 
       alternateButton:nil 
        otherButton:nil 
    informativeTextWithFormat:dir] runModal]; 

जब Xcode (रन-बटन) से चल रहा है, यह मेरे डिबग निर्देशिका देता है (जो है मैं क्या देख रहा हूँ:

पल में, मैं निम्नलिखित कोड का उपयोग कर रहा), लेकिन जब खोजक में ऐप पर डबल-क्लिक करें (इसलिए, डीबग निर्देशिका में), तो यह मुझे / दे रहा है जो मुझे पहेली करता है।

ऐसा क्यों होता है और मैं वर्तमान निर्देशिका को विश्वसनीय रूप से कैसे प्राप्त कर सकता हूं?

उत्तर

7

बंडल फ़ोल्डर है:

NSString *appPath = [[NSBundle mainBundle] bundlePath]; 

(reference)।

+0

धन्यवाद, यह मैं के लिए की तलाश थी! (वास्तव में, _exactly_ नहीं: मैंने '[[[NSBundle mainbundle] bundlePath] stringByDeletingLastPathComponent] का उपयोग किया जो मैं चाहता था प्राप्त करने के लिए :)) – tomsmeding

+1

@tomsmeding आह हाँ, मैं उस निर्देशिका से * रखता हूं * बिट" निर्देशिका से हटा देता हूं .app -file "। – trojanfoe

2

जब एप्पल स्विफ्ट में प्रोग्रामिंग आप के साथ आवेदन पथ मिल जाएगा:

let pathtoapplication: String = NSBundle.mainBundle().bundlePath