2016-09-27 9 views
8

मैं अपने कोर डेटा ऑब्जेक्ट्स देखने के लिए SQLite ब्राउज़र का प्रयास कर रहा हूं। मैं यह नहीं ढूंढ पा रहा हूं कि मूल डेटा अपनी एसक्यूएल फ़ाइल कहां से सहेजता है। मैंने ऐप दस्तावेज़ फ़ोल्डर में देखा लेकिन वहां कुछ भी नहीं है।कोर डेटा फ़ाइल का स्थान आईओएस 10

क्या आपको पता है कि आईओएस 10 (सिम्युलेटर) में मूल डेटा इसकी SQLite फ़ाइलों को कहां से सुरक्षित करता है?

उत्तर

15

के लिए पथ प्रिंट होगा मैं XCode 8 स्विफ्ट पर यह परीक्षण किया 3 ओएस MacOS सिएरा

आईओएस 10

आपका Appdelegate.swif टी में

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) 
    print(urls[urls.count-1] as URL) 

    return true 
} 

1. कॉन्स्टा NT .documentDirectory हम अपने आवेदन के सैंडबॉक्स के लिए हमारी खोज को सीमित करने के लिए दस्तावेज़ निर्देशिका

2. निरंतर .userDomainMask लिए देख रहे हैं कहते हैं।

उत्पादन

file:///Users/Ashok/Library/Developer/CoreSimulator/Devices/F629F99F-C745-46EB-8A11-01BC9FF1E592/data/Containers/Data/Application/3B373C93-71A2-46E9-8AF7-EF407C39429F/Documents/ 

जाएं पर क्लिक करें -> फ़ोल्डर पर जाएं -> चिपकाएं पथ -> मारो दर्ज

enter image description here

फिर लाइब्रेरी में जाकर -> आवेदन समर्थन -> filename.sqlite

enter image description here

संपादित

या

अपने टर्मिनल खोलने के लिए और टाइप find ~ -name 'HitTest.sqlite' और enter दबाएं।

Ashoks-MacBook-Pro:Desktop Ashok$ find ~ -name 'HitTest.sqlite' 
/Users/Ashok/Library/Developer/CoreSimulator/Devices/F629F99F-C745-46EB-8A11-01BC9FF1E592/data/Containers/Data/Application/3B373C93-71A2-46E9-8AF7-EF407C39429F/Documents/HitTest.sqlite 

उत्पादन ऊपर से आप अपने SQLite db

के पथ स्पष्ट रूप से देख सकते हैं आप DB Browser for SQLite उपयोग कर सकते हैं खोलने के लिए।

4

बस इस कोशिश मैं ios 10 पर यह जाँच नहीं की है, लेकिन पिछले सभी संस्करणों में अपने काम के

उत्पाद> योजना> संपादित योजना> भागो> तर्क

"तर्क में इस तर्क को जोड़ें लांच "

-com.apple.CoreData.SQLDebug को पारित कर दिया 1

हर जब आवेदन की शुरूआत यह डेटाबेस See This argument look like this

+0

उत्तर के लिए धन्यवाद। मैंने कोशिश की है लेकिन यह काम नहीं करता है। मैंने लॉन्च, -com.apple.CoreData.SQLDebug 1 पर पारित तर्कों के तहत रखा है, लेकिन यह कुछ भी प्रिंट नहीं करता है। तुम जानते हो क्यों ? –

+1

@IdanAviv: http://stackoverflow.com/a/39679571/1187415 देखें। –

+0

धन्यवाद मार्टिन! –

0

Xcode 8.0 (आईओएस 10) के लिए: -

.sqlite लगातार दुकान करने के लिए पथ है:

/उपयोगकर्ताओं/आशीष/Library/डेवलपर/CoreSimulator/उपकरण/"YourDeviceId "/ डेटा/कंटेनर/डेटा/आवेदन /" एप्लिकेशन आईडी "/ Library/Application सहायता /" FileNamePassedInPersistentContainer.sqlite "

3

स्विफ्ट 3.x

अपने AppDelegate फ़ाइल में didFinishLaunchingWithOptions का पता लगाएं और इस लाइन में जोड़ें।

let path = NSSearchPathForDirectoriesInDomains(.applicationSupportDirectory, .userDomainMask, true) 
    print("\(path)") 
संबंधित मुद्दे