2013-08-17 11 views
5

की सामग्री देखें मैं कमांड लाइन से अपने आईफोन सिम्युलेटर ऐप में Core Data की सामग्री को देखने में सक्षम होना चाहता हूं।कोर डेटा

मैं ~/Library/Application Support/iPhone Simulator/7.0/Applications में "cd'ing" की कोशिश की है और उसके बाद find . -name MyAppName का उपयोग कर जो इन निर्देशिकाओं मेरे एप्लिकेशन शामिल हैं खोजने के लिए:

29EB3FF9-4691-474D-8B05-AB168899D528 4C25697B-04D9-4B48-BE5E-D1E9B2E03381 A1DF7916-AE39-4367-BFD2-22A8BAA2AFD2 BDB577A8-0BCF-4E58-896B-D4E704F261D0 CC3CC638-E39D-4AE7-8580-4E8BBD375DC4 D11D7C57-5578-4531-85BB-71AE6DD68B2F 

तब मैं, इस फ़ोल्डर के अंदर "दस्तावेज़" फ़ोल्डर में नेविगेट लेकिन मैं देखता हूं कि केवल "स्क्लाइट" फ़ाइलें CoreDataTabBarTutorial.sqlite CoreDataTabBarTutorial.sqlite-shm CoreDataTabBarTutorial.sqlite-wal हैं। (EDIT: मैंने वास्तव में मेरा persistentStoreCoordinator का URLCoreDataTabBarTutorial.sqlite नाम दिया था)।

मुझे यकीन है कि मेरी वस्तुएं "कोर डेटा" में डाली जाती हैं, लेकिन ऐसा लगता है कि वे इंटरफ़ेस बिल्डर के लॉन्च के बीच नहीं रहते हैं। मैं इसे डीबग करने की कोशिश कर रहा हूं।

+0

तो आप वास्तव में क्या मतलब है कि आप SQLLite-back CoreData स्टोर की सामग्री देखना चाहते हैं?मैं भी * के बारे में बहुत उलझन में हूं लेकिन ऐसा लगता है कि वे इंटरफ़ेस बिल्डर के लॉन्च के बीच नहीं रहते हैं * क्या यह वास्तव में आपका मतलब है? – marko

+0

जब आप अपना निरंतर स्टोर बनाते हैं, तो जांचें कि आप किस प्रकार और नाम का उपयोग शुरू कर रहे हैं। –

+0

धन्यवाद, मैं 'persistentStoreCoordinator' 'URL' को' CoreDataTabBarTutorial.sqlite' पर सेट कर रहा था। –

उत्तर

5

कोर डेटा एसक्लाइट के साथ डिवाइस पर सहेजा गया है।

आप कमांड लाइन से डेटाबेस देखने के लिए sqlite3 CoreDataTabBarTutorial.sqlite का उपयोग कर सकते हैं। किसी भी मूल्य को देखने के लिए आपको विभिन्न sqlite3 कमांड और एसक्यूएल का उपयोग करने की आवश्यकता होगी। See Docs

.table will list the tables 
select * from ZYOURTABLENAME; (do not forget semi-colon) will display the rows. 

एक Mac app called Base कि SQLite डेटाबेस देखने के लिए एक GUI उपकरण है नहीं है।

-4

छुपा फ़ाइलों को दिखाने का प्रयास करें: defaults write com.apple.Finder AppleShowAllFiles 1 && killall Finder और फ़ाइलों को फिर से ढूंढें।

2

मुझे पता है कि सबसे आसान तरीका CoreDataUtility के साथ है।

बस इन चरणों का पालन:

  1. डाउनलोड नवीनतम द्विआधारी https://github.com/yepher/CoreDataUtility/wiki
  2. खोल दो और रन एप्लिकेशन
  3. मेनू- का चयन करें> फ़ाइल> नया प्रोजेक्ट
  4. का चयन करें "iOS सिम्युलेटर" टैब
  5. "सिम्युलेटर ऐप" बटन का चयन करें
  6. ड्रॉप डाउन सूची में अपना ऐप चुनें और ठीक
  7. चुनें
  8. करें "फाइल" बटन और ऊपर नेविगेट दो निर्देशिका
  9. दस्तावेज़ और अपने "हठ" फ़ाइल खोजने का चयन करें (यह CoreDataTabBarTutorial.sqlite नाम दिया जाएगा या जो भी आप अपने कोड में प्रारंभ)
  10. यकीन है कि "एसक्यूएल" चयनित है
  11. "ओपन"
  12. फ़ाइल पर क्लिक करें-> परियोजना सहेजें ताकि आप अगली बार प्रोजेक्ट फ़ाइल पर डबल क्लिक कर सकें।
0

मुझे पता है कि यह एक बहुत पुराना सवाल है, लेकिन मैंने हाल ही में एक छोटी सी सरल लाइब्रेरी लिखी है जो आपको अपने ऐप को डिबग करते समय अपने कोर डेटा स्टोर की सामग्री को देखने देता है।यह आप बल्कि एक एसक्यूएल दर्शक Check it out here

अपने Podfile

pod 'RWCoreDataViewer', :git => 'https://github.com/richmondwatkins/RWCoreDataViewer' 

में जोड़े अपने प्रबंधित वस्तु RWCoreDataInspector प्रोटोकॉल के एक सदस्य है बनाओ डाउनलोड करने के लिए की तुलना में एप्लिकेशन को आपके पर काम कर रहे अंदर एक कस्टम पॉपअप दर्शक देता है।

RWCoreDataViewer.initialize(self.managedObjectContext) 

और यह thats:

import Foundation 
import CoreData 
import RWCoreDataViewer 

class MyEntity: NSManagedObject, RWCoreDataInspector { 

} 

डेटा को प्रदर्शित करने के लिए बस में पेस्ट (सिर्फ अपने वर्ग घोषणा में शामिल यहाँ लागू करने के लिए कुछ भी नहीं है)। जब भी आप अपने डेटा प्रदर्शित करना चाहते हैं तो बस प्रारंभकर्ता जोड़ सकते हैं और आप अपने संस्थाओं और उनके रिकॉर्ड

4

आदेश में अपने SQLite फ़ाइल का रास्ता पता करने के लिए सभी के साथ एक कस्टम दृश्य मिल जाएगा, इन चरणों का पालन

1) अपनी परियोजना के ओपन ऐपडिलेगेट।

आलसी वर persistentStoreCoordinator: NSPersistentStoreCoordinator = {

3) का पता लगाएं

2) चाहिए के रूप में (केवल यदि आप उपयोग CoreData अपनी परियोजना) बनाने के दौरान जाँच की है घोषणा के साथ एक वर मौजूद है यह एक लाइन के लिए

देना url = self.applicationDocumentsDirectory.URLByAppendingPathComponent ("SingleViewCoreD समान ata.sqlite persistentStoreCoordinator यूआरएल ")

4) के रूप में

प्रिंट (इस यूआरएल प्रिंट": (URL) ")

5) अपने अनुप्रयोग चलाने के लिए कंसोल में इस url खोज 6) कॉपी कि यूआरएल, खुला टर्मिनल, प्रकार सीडी तो पेस्ट इस यूआरएल यूआरएल की तरह

(फ़ाइल हो: /// उपयोगकर्ता/p rnjls/Library/डेवलपर/CoreSimulator/उपकरण/A2B99983-4B71-4708-A515-7A87463ECF0C/डेटा/कंटेनर/डेटा/आवेदन/F70EF393-FBF7-4598-B28B-9DAACBFE46F8/दस्तावेज़/SingleViewCoreData.sqlite)

7) एसक्लाइट डेटा देखने के लिए एक नि: शुल्क ऐप डाउनलोड करें और इंस्टॉल करें here

8) फ़ाइल पर क्लिक करें -> नया -> डेटाबेस प्रकार में sqlite का चयन करें -> इसके पास आइकन पर क्लिक करें -> उस sqlite फ़ाइल पर नेविगेट करें आपके द्वारा कॉपी किए गए पथ का उपयोग करना।

9) आप अपनी सभी संस्थाओं को किसी भी इकाई नाम पर टैप सहेज चुके हैं और पर क्लिक करें SQL कमांड चलाएं। यही वह है। उम्मीद है कि यह किसी भी तरह से मदद करेगा।