2014-09-11 10 views
10

एक्सकोड 6 में नवीनतम परिवर्तनों के साथ, ऐसा लगता है कि .app फ़ाइल और दस्तावेज़ फ़ोल्डर अब आईफोन सिम्युलेटर निर्देशिका में एक ही फ़ोल्डर में रहता है।एक्सकोड 6/आईओएस 8 सिम्युलेटर डेटा और बंडल फ़ोल्डर स्क्रिप्ट

पहले, हम

/Users/me/Library/Application Support/iPhone Simulator/7.1/Applications/SomeCrpyticNumber 

पर लेकिन Xcode 6 में निर्देशिका और .app फ़ाइल का उपयोग कर सकते हैं, सिम्युलेटर निर्देशिका पूरी तरह से अलग है:

~/Library/Developer/CoreSimulator/Devices/CrypticNumber1/data/Containers/Bundle/CrypticNumber2/MyApp.app 

और

~/Library/Developer/CoreSimulator/Devices/CrypticNumber1/data/Containers/Data/CrypticNumber3/Documents  

जहां CryptNumber 1,2, और 3 सभी अलग हैं। क्या कोई तरीका है जहां मैं .app फ़ाइल वाले फ़ोल्डर को ढूंढने के बाद संबंधित दस्तावेज़ फ़ोल्डर प्राप्त कर सकता हूं? मैं "अगर मैं एक iOS 7 सिम्युलेटर पर ऐप्लिकेशन बनाया इस के साथ परेशानी हो रही हूँ।

क्यों ...?

, दस्तावेजों निर्देशिका और .app फ़ाइल कम से कम पहले की तरह एक ही फ़ोल्डर में हैं, लेकिन आईओएस 8 उन्हें अलग

एकमात्र समाधान मैं की अभी सोच सकते हैं 2 फ़ोल्डरों नवीनतम निर्माण/संशोधन दिनांक है कि जोड़ी के लिए है

संपादित करें:।।

एक तरफ ध्यान दें पर

, इस उपकरण है अपने सिम्युलेटर फ़ोल्डरों को खोजने के लिए बहुत उपयोगी है एक्सकोड 6 अब: http://simpholders.com/

+0

कोशिश करें [यह] (http://nsrover.wordpress.com/2014/11/28/ios8-simulator-documents-directory/) – NSRover

उत्तर

10

यह मुझे भी परेशान कर रहा है। मैं इसे 100% हल करने में सक्षम नहीं हूं लेकिन मैंने थोड़ा सा मदद करने के लिए एक त्वरित और गंदे ऐप बनाया है। मैं हमेशा डिवाइस निर्देशिका पा सकता हूं, लेकिन मुझे अभी तक विश्वसनीय रूप से बंडल/सैंडबॉक्स निर्देशिकाओं को ट्रैक करने का कोई तरीका नहीं मिला है। स्रोत: https://github.com/somegeekintn/SimDirs

संपादित करें: आगे बढ़ें और अतिरिक्त स्थानों को खोजने के लिए mobile_installation.log स्कैन करना शुरू कर दिया। अब सबकुछ ढूंढने लगता है।

+0

यह बहुत अच्छा लग रहा है। मैं आपके पास जो कुछ भी है उसके अलावा कुछ भी कर रहा हूं, मेरे पास कोई GUI नहीं है :) अभी, मैं सिम्युलेटर_एप = "$ (ढूंढें" ~/लाइब्रेरी/डेवलपर/कोरसिम्युलेटर/डिवाइस "-नाम" $ का उपयोग करूंगा project_name.app ")" \t full_path_to_app = "$ (dirname" $ ​​simulator_app ")" ऐप के लिए निर्देशिका खोजने के लिए, लेकिन मुझे लगता है कि हम इस फ़ोल्डर की निर्माण तिथि को बंडल खोजने के लिए किसी अन्य फ़ोल्डर से मेल करना चाहते हैं निर्देशिका। – kevinl

+1

आप डेटा/लाइब्रेरी/लॉग/मोबाइल इंस्टालेशन/mobile_installation.log.0 में चारों ओर रूट करना भी चाह सकते हैं। यह ऐप इंस्टॉल और अनइंस्टॉल करने की जानकारी रिकॉर्ड करता है। आपको कहीं ऐसा लगता है कि कहीं और स्थायी रिकॉर्ड होना चाहिए। –

+1

मैं एक ऐसी स्क्रिप्ट का उपयोग कर रहा हूं जो '.com.apple.mobile_container_manager.metadata.plist' में से एक के साथ बंडल आईडी से मेल खाता है - यह काफी विश्वसनीय लगता है। –

1

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

  1. सुनिश्चित करें कि कोरडाटा में दस्तावेज़/फ़ाइल का केवल सापेक्ष पथ संग्रहित करें। जैसे "/Users/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

1

वहाँ Xcode के लिए एक महान प्लगइन है कि आप आप चाहते हैं किसी भी अनुप्रयोग के लिए निर्देशिका को खोलने के लिए अनुमति देता है। इसे ZLGotoSandboxPlugin कहा जाता है, और आप इसे Alcatraz के माध्यम से इंस्टॉल कर सकते हैं। यह प्लगइन Xcode के "फ़ाइल" मेनू में एक विशेष उपमेनू जोड़ता है (मैंने वहां कई ऐप नाम छिपाए हैं): The plugin menu.

मुझे यह सुविधाजनक लगता है।

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