Xcode डिवाइस सिम्युलेटर का दस्तावेज़ निर्देशिका पथ


90

IOS 7 में, iOS सिमुलेटर के दस्तावेज़ निर्देशिका में पाया जा सकता है:

/Users/Sabo/Library/Application Support/iPhone Simulator/

हालाँकि, iOS 8 बीटा सिम्युलेटर में , मैं ऊपर की निर्देशिका में iOS 8 के लिए संबंधित निर्देशिका नहीं ढूँढ सकता ।

IOS 8 सिम्युलेटर के लिए दस्तावेज़ निर्देशिका पथ कहाँ है?

यहाँ छवि विवरण दर्ज करें


यह कोशिश करो । एक ऐप है जो सीधे लेटेस्ट ऐप रन के डॉक्यूमेंट्स डायरेक्टरी को ओपन करता है।
NSRover


इस लिंक का प्रयास करें stackoverflow.com/questions/24133022/…
तुनवीर रहमान तुषार

यदि आपको अपना लाइब्रेरी फ़ोल्डर नहीं मिल रहा है, तो वह संभवत: छिपा हुआ है। इस कमांड को टर्मिनल में टाइप करने से यह unhide हो जाएगा: chflags nohidden ~ / Library
simon_smiley

यदि आपको Xcode plugin पसंद है, तो github.com/onmyway133/XcodeWay , एक Xcode प्लगइन आज़माएं जो आपके सिम्युलेटर फ़ोल्डर में जा सकता है, और कई अन्य स्थानों पर
onmyway133

जवाबों:


155

मेरे कंप्यूटर पर, पथ है:

~/Library/Developer/CoreSimulator/Devices/1A8DF360-B0A6-4815-95F3-68A6AB0BCC78/data/Container/Data/Application/

नोट: शायद वे लंबी आईडी (यानी UDID) आपके कंप्यूटर पर भिन्न हैं।


1
यदि आपका ऐप CoreData का उपयोग करता है, तो फ़ोल्डर स्थान को खोजने का एक आसान तरीका हो सकता है: stackoverflow.com/a/25937606/1103584
DiscDev

12
नहीं, यह गलत है। ओबीजीसी परियोजनाओं और स्विफ्ट परियोजनाओं के बीच कोई अंतर नहीं है। वे UDIDs (यूनिक डिवाइस पहचानकर्ता) हैं और आप 'xcrun simctl लिस्ट' चलाकर आपका दर्शन कर सकते हैं
जेरेमी हडलस्टोन सिकोइया

@JeremyHuddlestonSequoia, सही है या नहीं, यह है कि स्विफ्ट और एक ObjC परियोजना को मेरे कंप्यूटर पर कैसे कॉपी किया गया था। मुझे दोनों को केवल सिम्युलेटर पर संकलित करने की आवश्यकता नहीं है (यह मूल प्रश्न था)। यदि Xcode विभिन्न भाषाओं के लिए UDIDs के बीच अंतर करता है, और आपको लगता है कि यह सही नहीं है, तो आपको इसे Apple को रिपोर्ट करने की आवश्यकता हो सकती है।
हूलेक्स

7
Holex, मैं कह रहा हूँ कि आपका कथन गलत है, यह नहीं कि डिज़ाइन गलत है (ध्यान दें कि मैं वास्तव में Apple का लड़का हूं जिसने CoreSimulator को डिज़ाइन किया है, इसलिए मैं शायद ऐसा करने वाला पहला व्यक्ति होऊंगा जो मुझे लगता है कि है) गलत)। यूडीआईडी ​​अलग उपकरणों के अनुरूप हैं। एकमात्र कारण यह है कि आपकी स्विफ्ट और ओब्जेक्ट प्रोजेक्ट्स अलग-अलग यूडीआईडी ​​का उपयोग कर रहे हैं, क्योंकि आपने अपनी परियोजनाओं को विभिन्न सिम्युलेटर उपकरणों (जैसे: एक के लिए, आपने आईफोन 5 एस पर तैनात किया है और दूसरे को आपने आईफोन 6 में तैनात किया है) को तैनात किया है।
जेरेमी हडल्टन सीक्विया

@JeremyHuddlestonSequoia, यदि आप पर्याप्त रूप से आश्वस्त महसूस करते हैं, तो मेरा उत्तर सही करने के लिए आपका बहुत-बहुत स्वागत है।
holex

75

NSLog"AppDelegate" में कहीं नीचे कोड, अपना प्रोजेक्ट चलाएं और पथ का अनुसरण करें। "~ / लाइब्रेरी / डेवलपर / कोरसिमुलेटर / डिवाइसेस" के अंदर बेतरतीब ढंग से खोजने के बजाय दस्तावेज़ों को प्राप्त करना आपके लिए आसान होगा

उद्देश्य सी

NSLog(@"%@",[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);

स्विफ्ट
यदि आप स्विफ्ट 1.2 का उपयोग कर रहे हैं, तो नीचे दिए गए कोड का उपयोग करें जो #if #endifब्लॉक के कारण सिम्युलेटर का उपयोग करते समय केवल विकास में आउटपुट करेगा :

#if arch(i386) || arch(x86_64)
  let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! NSString
  NSLog("Document Path: %@", documentsPath)
#endif

से अपना रास्ता कॉपी करें "/ उपयोगकर्ताओं / अंकुर / Library / डेवलपर / CoreSimulator / उपकरण / 7BA821 ..." "के लिए जाना खोजक " और फिर " जाओ फ़ोल्डर में " या command+ shift+ gऔर अपने पथ पेस्ट, मैक के लिए ले जाने के लिए अपने दस्तावेज़ निर्देशिका :)


सरल और कुशल!
लोरेटोपरसी

43

बस AppDelegate में bellow कोड लिखें -> didFinishLaunchingWithOptions Objective C

#if TARGET_IPHONE_SIMULATOR 
// where are you? 
NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]); 
#endif 


स्विफ्ट 2.X

if let documentsPath = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first?.path {
    print("Documents Directory: " + documentsPath)   
}

स्विफ्ट 3.X

#if arch(i386) || arch(x86_64)
    if let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path {
        print("Documents Directory: \(documentsPath)")
    }
#endif

स्विफ्ट 4.2

#if targetEnvironment(simulator)
    if let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path {
        print("Documents Directory: \(documentsPath)")
    }
#endif

आउटपुट
/ उपयोगकर्ता / mitul_marsonia / लाइब्रेरी / डेवलपर / CoreSimulator / डिवाइसेस / E701C1E9-FCED-4428-A36F-17B32D32918A / डेटा / कंटेनर / डेटा / अनुप्रयोग / 25174F64-7130-4B91-BC41-AC74257CCC6E / दस्तावेज़

"/ उपयोगकर्ता / mitul_marsonia / लाइब्रेरी / डेवलपर / CoreSimulator / डिवाइसेस / E701C1E9-FCED-4428-A36F-17B32D32918A ..." से "फाइंडर " पर जाएं और फिर "फ़ोल्डर में जाएं" या कमांड + शिफ्ट + जी और अपने पथ को कॉपी करें। अपना रास्ता पेस्ट करें , मैक को आपके दस्तावेज़ निर्देशिका में ले जाने दें


आप कैसे जान सकते हैं कि आपका ऐप किस फ़ोल्डर में है? बहुत सारी निर्देशिकाएं हैं, क्या मुझे उनमें से प्रत्येक को खोजना होगा?
करेनएने


यह आपके अपने सिम्युलेटर के लिए एक हार्डकोड मार्ग है। यह किसी और के लिए काम नहीं करेगा। एक बार फिर से सिम्युलेटर चलाने के बाद वास्तव में यह मार्ग आपके लिए भी बदल जाएगा।
NSRover

#if TARGET_IPHONE_SIMULATOR // आप कहाँ हैं? NSLog (@ "दस्तावेज निर्देशिका:% @", [[[NSFileManager defaultManager] URLsForDirectory: NSDocumentDirectory inDomains: NSUserDomainMask] lastbbject]); #endif
मितुल मारसोनिया

16

मैं एक अच्छा यूटिलिटी ऐप सुझाता हूं जिसका नाम सिमपॉन्डर्स है जो आपके आईओएस ऐप को विकसित करते समय फाइलों और फ़ोल्डरों को ढूंढना आसान बनाता है। इसका एक नया संस्करण है, जो नए सिमुलेटर के साथ काम करने के लिए कहा जाता है जिसे SimPenders2 कहा जाता है। यह simpholders.com पर पाया जा सकता है


यह एक अच्छा ऐप होगा जो अब iOS8 सिम्युलेटर को फ़ोल्डर अस्पष्टता में दफन कर रहा है लेकिन iOS8 का समर्थन करने के लिए उस ऐप को अपडेट नहीं किया गया है।
wibobm

@wibobm। SimPenders2 निश्चित रूप से iOS 8.0 और iOS 8.1
JDibble

हे भगवान। मैं बिलकुल अंधा हो गया होगा। धन्यवाद!
विबोबम

16

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

IOS 8 के बाद से एक ऐप का डेटा स्टोरेज फ़ोल्डर ऐप के एक्जीक्यूटेबल फाइल्स से अलग होता है जबकि iOS 7 और नीचे एक ही फोल्डर स्ट्रक्चर होता है, फर्क सिर्फ इतना है कि सभी सिमुलेटर (अलग-अलग प्रकार और वर्जन) हैं अब एक में, बड़ा फ़ोल्डर।

तो, iOS 8,7,6 सिम्युलेटर का पथ निम्नलिखित है:

~/Library/Developer/CoreSimulator/Devices

प्रत्येक सिम्युलेटर अब एक अद्वितीय पहचानकर्ता के नाम वाले फ़ोल्डर में सम्‍मिलित है जो सिम्युलेटर के हर रीसेट पर बदलता है।

आप Identifierअपने प्रत्येक उपकरण और सिमुलेटर के लिए जा सकते हैं Xcode > Window > Devices(पहचानकर्ता के पहले 3 या 4 वर्ण याद रखने के लिए पर्याप्त से अधिक हैं)।

जिस पर आपने अपना एप्लिकेशन इंस्टॉल किया है, उसे खोजने के लिए, अपने Run scheme > devices(स्क्रीन 2) पर एक नज़र डालें ।

स्क्रीन 1

स्क्रीन 2

अब, जब आप अपने सिम्युलेटर की पहचान करते हैं, तो उसके संस्करण के आधार पर फ़ोल्डर संरचना बहुत अलग होती है:

IOS 8 पर किसी एप्लिकेशन के निष्पादन योग्य और डेटा फ़ोल्डर विभिन्न फ़ोल्डरों में हैं:

निष्पादन योग्य : ~/Library/Developer/CoreSimulator/Devices/[simID]/data/Containers/Bundle/Application/[appID]

डेटा फ़ोल्डर : ~/Library/Developer/CoreSimulator/Devices/[simID]/data/Containers/Data/Application/[appID]/

दस्तावेज़ फ़ोल्डर : ~/Library/Developer/CoreSimulator/Devices/[simID]/data/Containers/Data/Application/[appID]/Documents

पर iOS 7 और नीचे फ़ोल्डर संरचना में एक ही रूप में पहले ही नहीं याद अब हर सिम्युलेटर (ऊपर देखें) एक ही फ़ोल्डर में है।


13

यदि आपका ऐप CoreData का उपयोग करता है, तो एक निफ्टी ट्रिक है जो टर्मिनल का उपयोग करके स्क्लाइट फाइल के नाम की खोज करता है।

find ~ -name my_app_db_name.sqlite

परिणाम किसी भी सिमुलेटर के लिए पूर्ण फ़ाइल पथों को सूचीबद्ध करेंगे जो आपके ऐप को चला चुके हैं।

मैं वास्तव में कामना करता हूं कि ऐप्पल "आईओएस में फ़ोल्डर का खुलासा करें" जैसे आईओएस सिम्युलेटर फ़ाइल मेनू में एक बटन जोड़ देगा।


1
होगा टर्मिनल प्यार करता हूँ।
14

2
ऐसा लगता है कि यह खोजने का एक बहुत लंबा रास्ता है। अपने पूरे घर निर्देशिका खोजें?
शॉर्टस्टफसुशी

11

यह सही है कि हमें पथ / लाइब्रेरी / डेवलपर / कोरसिम्युलेटर / डिवाइसेस / पर गौर करना चाहिए।

लेकिन मैं जिस मुद्दे को देख रहा हूं, वह यह है कि जब भी मैं ऐप चलाता हूं, हर बार रास्ता बदलता रहता है। पथ में एप्लिकेशन स्ट्रिंग के बाद लंबी आईडी का एक और सेट होता है और जो हर बार जब मैं ऐप चलाता है, तो इसे बदलता रहता है। यह मूल रूप से इसका मतलब है कि जब अगली बार चलेगा तो मेरे ऐप में कोई कैश नहीं किया जाएगा।


मैं यह भी देख रहा हूं।
नाथन जोन्स

5
जब भी आप ऐप चलाते हैं, तो रास्ते बदलते नहीं रहते। प्रति उपकरण एक पथ है जो आपके पुस्तकालय में है। उपकरणों और उनके UDIDs की सूची देखने के लिए 'xcrun simctl सूची' चलाएं ताकि आप देख सकें कि आप किस उपनिर्देशिका पर विचार कर रहे हैं।
जेरेमी हडलस्टन सीक्विया

9

IOS 9.2 और Xcode 7.2 के साथ, निम्न स्क्रिप्ट अंतिम उपयोग किए गए सिम्युलेटर पर अंतिम स्थापित एप्लिकेशन के दस्तावेज़ फ़ोल्डर को खोल देगा;

cd ~/Library/Developer/CoreSimulator/Devices/
cd `ls -t | head -n 1`/data/Containers/Data/Application 
cd `ls -t | head -n 1`/Documents
open .

आसान रन करने योग्य स्क्रिप्ट बनाने के लिए, इसे "रन शैल स्क्रिप्ट" के साथ एक ऑटोमेटर एप्लिकेशन में डालें:

Automator Application के अंदर Shell Script रन करें


7

Xcode 6.0 में CoreSimulator को अपनाने के साथ, डेटा निर्देशिकाएं प्रति-संस्करण के बजाय प्रति-डिवाइस हैं। डेटा डायरेक्टरी ~ / लाइब्रेरी / डेवलपर / कोरसिमुलेटर / डिवाइसेस // डेटा है जहां 'xcrun simllates' से निर्धारित किया जा सकता है

ध्यान दें कि आप सुरक्षित रूप से ~ / लाइब्रेरी / एप्लिकेशन सपोर्ट / iPhone सिम्युलेटर और ~ / लाइब्रेरी / लॉग / iOS सिम्युलेटर को हटा सकते हैं यदि आप Xcode 5.x या उससे पहले के रोल को वापस करने की आवश्यकता पर योजना नहीं बनाते हैं।


देने के लिए धन्यवाद जो संभवतः आधिकारिक उत्तर के रूप में देखा जा सकता है। क्या एक आसान तरीका है (ऐप के भीतर से लॉगिंग को छोड़कर) एक सिम्युलेटर के अंदर एक विशिष्ट ऐप का स्थान खोजने के लिए?
fzwo

क्षमा करें, नहीं, लेकिन मैंने यहां और मंचों पर इसके लिए कुछ अनुरोध देखे हैं। कृपया bugreport.apple.com
जेरेमी हडलस्टन सीक्विया

7

अद्यतन: Xcode 11.5 • स्विफ्ट 5.2

if let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path {
    print(documentsPath)   // "var/folder/.../documents\n" copy the full path
}

अपने फाइंडर प्रेस कमांड-शिफ्ट-जी (या गो> फोल्डर पर जाएं ... मेनू बार के नीचे) पर जाएं और उस पूर्ण पथ "var / folder /.../ दस्तावेज़" को वहां पेस्ट करें और जाएं दबाएं।



4

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

  1. CoreData में दस्तावेज़ / फ़ाइल का केवल सापेक्ष पथ संग्रहीत करना सुनिश्चित करें। उदाहरण के लिए "/User/yourname/.../Applications/UUID/Document/Files/image.jpg" के बजाय "फ़ाइलें / image.jpg" स्टोर करें।
  2. एप्लिकेशन दस्तावेज़ स्थान प्राप्त करने के लिए निम्नलिखित का उपयोग करें:

    [[[NSFileManager defaultManager] URLsForDirectory: NSDocumentDirectory inDomains: NSUserDomainMask] lastObject];

  3. जिस दस्तावेज़ / फ़ाइल को आप पुनः प्राप्त करना चाहते हैं उसका पूरा रास्ता पाने के लिए # 2 और # 1 दोनों को मिलाएं।
आप Apple डेवलपर नोट का उल्लेख कर सकते हैं: https://developer.apple.com/library/ios/technotes/tn2406/_index.html


3

IOS 8 सिम्युलेटर के लिए दस्तावेज़ निर्देशिका कहां है

आपने देखा होगा कि iPhone सिम्युलेटर Xcode 6 के साथ बदल गया है, और इसके साथ - निश्चित रूप से - आपके सिम्युलेटेड ऐप्स की डॉक्यूमेंटेशन डायरेक्टरी का मार्ग। कई बार हमें इस पर विचार करने की आवश्यकता हो सकती है।

उस पथ को खोजना उतना आसान नहीं है जितना कि एक बार, अर्थात् लाइब्रेरी / एप्लिकेशन सपोर्ट / आईफोन सिम्युलेटर / 7.1 / एप्लीकेशन / आपके ऐप का प्रतिनिधित्व करने वाली एक क्रिप्टोकरंसी द्वारा किया गया था।

Xcode 6 और iOS 8 के रूप में आप इसे यहां पाएंगे: लाइब्रेरी / डेवलपर / कोरसिम्युलेटर / डिवाइसेस / क्रिप्टिक नंबर / डेटा / कंटेनर / डेटा / एप्लिकेशन / क्रिप्टिक नंबर

http://pinkstone.co.uk/where-is-the-documents-directory-for-the-ios-8-simulator/


3

Appdelegate में, इस कोड को डॉक्यूमेंट और Cache Dir देखने के लिए डालें:

#if TARGET_IPHONE_SIMULATOR
    NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
    NSArray* cachePathArray = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString* cachePath = [cachePathArray lastObject];
    NSLog(@"Cache Directory: %@", cachePath);
#endif

लॉग पर:

दस्तावेज़ निर्देशिका: / उपयोगकर्ता / xxx / पुस्तकालय / डेवलपर / CoreSimulator / उपकरण / F90BBF76-C3F8-4040-9C1E-448FAE38FA5E / डेटा / कंटेनर / डेटा / अनुप्रयोग / 3F3F6E12-EDD4-4C46-BFC3-58EB64D4B4B4 दस्तावेज़

कैशे निर्देशिका: / उपयोगकर्ता / xxx / पुस्तकालय / डेवलपर / CoreSimulator / डिवाइसेस / F90BBF76-C3F8-4040-9C1E-448FAE38FA5E / डेटा / कंटेनर / डेटा / अनुप्रयोग / 3F3F6E12-EDD4-4C46-BFC3-58EB64DBBBB लाइब्रेरी लाइब्रेरी


3

यदि आप ऐप फ़ोल्डर में जाना पसंद करते हैं, तो यह देखने के लिए कि क्या चल रहा है और लेबिरिंथ यूडीआईडी ​​के माध्यम से नहीं जाना है, मैंने इसे बनाया: https://github.com/kallewoof/plget

और इसका उपयोग करते हुए, मैंने इसे बनाया: https://gist.github.com/kallewoof/de4899aabde564664687

मूल रूप से, जब मैं कुछ ऐप के फ़ोल्डर में जाना चाहता हूं, तो मैं करता हूं:

$ cd ~/iosapps
$ ./app.sh
$ ls -l
total 152
lrwxr-xr-x  1 me  staff    72 Nov 14 17:15 My App Beta-iOS-7-1_iPad-Retina.iapp -> iOS-7-1_iPad-Retina.dr/Applications/BD660795-9131-4A5A-9A5D-074459F6A4BF
lrwxr-xr-x  1 me  staff    72 Nov 14 17:15 Other App Beta-iOS-7-1_iPad-Retina.iapp -> iOS-7-1_iPad-Retina.dr/Applications/A74C9F8B-37E0-4D89-80F9-48A15599D404
lrwxr-xr-x  1 me  staff    72 Nov 14 17:15 My App-iOS-7-1_iPad-Retina.iapp -> iOS-7-1_iPad-Retina.dr/Applications/07BA5718-CF3B-42C7-B501-762E02F9756E
lrwxr-xr-x  1 me  staff    72 Nov 14 17:15 Other App-iOS-7-1_iPad-Retina.iapp -> iOS-7-1_iPad-Retina.dr/Applications/5A4642A4-B598-429F-ADC9-BB15D5CEE9B0
-rwxr-xr-x  1 me  staff  3282 Nov 14 17:04 app.sh
lrwxr-xr-x  1 me  staff   158 Nov 14 17:15 com.mycompany.app1-iOS-8-0_iPad-Retina.iapp -> /Users/me/Library/Developer/CoreSimulator/Devices/129FE671-F8D2-446D-9B69-DE56F1AC80B9/data/Containers/Data/Application/69F7E3EF-B450-4840-826D-3830E79C247A
lrwxr-xr-x  1 me  staff   158 Nov 14 17:15 com.mycompany.app1-iOS-8-1_iPad-Retina.iapp -> /Users/me/Library/Developer/CoreSimulator/Devices/414E8875-8875-4088-B17A-200202219A34/data/Containers/Data/Application/976D1E91-DA9E-4DA0-800D-52D1AE527AC6
lrwxr-xr-x  1 me  staff   158 Nov 14 17:15 com.mycompany.app1beta-iOS-8-0_iPad-Retina.iapp -> /Users/me/Library/Developer/CoreSimulator/Devices/129FE671-F8D2-446D-9B69-DE56F1AC80B9/data/Containers/Data/Application/473F8259-EE11-4417-B04E-6FBA7BF2ED05
lrwxr-xr-x  1 me  staff   158 Nov 14 17:15 com.mycompany.app1beta-iOS-8-1_iPad-Retina.iapp -> /Users/me/Library/Developer/CoreSimulator/Devices/414E8875-8875-4088-B17A-200202219A34/data/Containers/Data/Application/CB21C38E-B978-4B8F-99D1-EAC7F10BD894
lrwxr-xr-x  1 me  staff   158 Nov 14 17:15 com.mycompany.otherapp-iOS-8-1_iPad-Retina.iapp -> /Users/me/Library/Developer/CoreSimulator/Devices/414E8875-8875-4088-B17A-200202219A34/data/Containers/Data/Application/DE3FF8F1-303D-41FA-AD8D-43B22DDADCDE
lrwxr-xr-x  1 me  staff    51 Nov 14 17:15 iOS-7-1_iPad-Retina.dr -> simulator/4DC11775-F2B5-4447-98EB-FC5C1DB562AD/data
lrwxr-xr-x  1 me  staff    51 Nov 14 17:15 iOS-8-0_iPad-2.dr -> simulator/6FC02AE7-27B4-4DBF-92F1-CCFEBDCAC5EE/data
lrwxr-xr-x  1 me  staff    51 Nov 14 17:15 iOS-8-0_iPad-Retina.dr -> simulator/129FE671-F8D2-446D-9B69-DE56F1AC80B9/data
lrwxr-xr-x  1 me  staff    51 Nov 14 17:15 iOS-8-1_iPad-Retina.dr -> simulator/414E8875-8875-4088-B17A-200202219A34/data
lrwxr-xr-x  1 me  staff   158 Nov 14 17:15 org.cocoapods.demo.pajdeg-iOS-8-0_iPad-Retina.iapp -> /Users/me/Library/Developer/CoreSimulator/Devices/129FE671-F8D2-446D-9B69-DE56F1AC80B9/data/Containers/Data/Application/C3069623-D55D-462C-82E0-E896C942F7DE
lrwxr-xr-x  1 me  staff    51 Nov 14 17:15 simulator -> /Users/me/Library/Developer/CoreSimulator/Devices

./app.shभाग समन्वयित हो जाता है लिंक। यह मूल रूप से हमेशा आवश्यक होता है क्योंकि आजकल एप X 6.0 में हर रन के लिए UUID बदलते हैं। इसके अलावा, दुर्भाग्य से, ऐप्स 8.x के लिए बंडल आईडी और <8 के लिए ऐप नाम से हैं।


3

अंकुर के जवाब के आधार पर लेकिन हमारे लिए स्विफ्ट उपयोगकर्ता:

let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
println("Possible sqlite file: \(urls)")

इसे ViewDidLoad के अंदर रखें और यह एप्लिकेशन के निष्पादन पर तुरंत प्रिंट कर लेगा।


3

सिमुलेटर के तहत स्थित हैं:

~/Library/Developer/CoreSimulator/

यहां, उन्हें UUID नामों वाली निर्देशिका के रूप में सूचीबद्ध किया गया है। नवीनतम को खोजने के लिए 'तिथि संशोधित' द्वारा सॉर्ट का उपयोग करें। अंदर नेविगेट करने के लिए:

/data/Containers/Data/Application/

यहां आपको उस डिवाइस पर सभी एप्लिकेशन की एक सूची मिलेगी। आप नवीनतम एप्लिकेशन प्राप्त करने के लिए इसे फिर से सॉर्ट कर सकते हैं।

नोट: हर बार जब आप ऐप चलाते हैं तो Xcode निर्देशिका नाम बदल देता है, इसलिए डेस्कटॉप पर उपनाम / शॉर्ट कट बनाने पर भरोसा न करें।

सबसे आसान तरीका यह है कि यहां ऐप का उपयोग किया जाए , जो सब कुछ स्वचालित रूप से करता है।


2

सिम्युलेटर निर्देशिका Xcode 6 बीटा के साथ स्थानांतरित कर दी गई है ...

 ~/Library/Developer/CoreSimulator

निर्देशिका को अपने ऐप के दस्तावेज़ फ़ोल्डर में ब्राउज़ करना थोड़ा अधिक कठिन है, उदाहरण के लिए,

~/Library/Developer/CoreSimulator/Devices/4D2D127A-7103-41B2-872B-2DB891B978A2/data/Containers/Data/Application/0323215C-2B91-47F7-BE81-EB24B4DA7339/Documents/MyApp.sqlite

2

रास्ता खोजने का सबसे अच्छा तरीका कोड के माध्यम से करना है।

स्विफ्ट का उपयोग करते हुए, बस अपने AppDelegate.swift में फ़ंक्शन एप्लिकेशन के अंदर नीचे दिए गए कोड को पेस्ट करें

let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentsPath = paths.first as String
println(documentsPath)

Obj-C कोड के लिए, @Ankur से उत्तर देखें


2

स्विफ्ट 3.x के लिए

if let documentsPath = FileManager.default.urls(for:.documentDirectory, in: .userDomainMask).first?.path {
        print("Documents Directory: " + documentsPath)
    }

1

iOS 11

if let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,
                                                           .userDomainMask,
                                                           true).first {
    debugPrint("documentsPath = \(documentsPath)")
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.