2013-04-14 30 views
12

Tôi đang làm việc trên một dự án iPhone sử dụng dữ liệu cốt lõi và cố gắng tìm ra cách để duyệt dễ dàng cách dữ liệu được lưu trữ. Cụ thể, tôi lưu trữ hình ảnh trong dữ liệu cốt lõi và muốn xem họ đang chiếm bao nhiêu không gian, v.v.Làm cách nào để duyệt Dữ liệu lõi trong ứng dụng của tôi đang chạy trên iPhone?

Tôi đã tìm thấy ứng dụng có tên "Trình chỉnh sửa dữ liệu lõi" cho phép bạn duyệt dữ liệu lõi trên iPhone giả lập, nhưng nó không thực sự hữu ích trong trường hợp của tôi kể từ khi, tôi lưu trữ hình ảnh chụp từ máy ảnh. Có cách nào để dễ dàng duyệt những gì đang được lưu trữ trên ứng dụng của tôi không?

Trả lời

9

PonyDebugger là công cụ bạn cần, nó cho phép bạn duyệt kho dữ liệu cốt lõi của bạn và nhiều khía cạnh khác của ứng dụng đang chạy của bạn. Nó hoàn toàn miễn phí, chỉ cần tải xuống, thêm vào ứng dụng của bạn và chạy máy chủ cục bộ trên máy tính phát triển của bạn mà Pony Debugger trao đổi.

+0

Wow đây là một công cụ tuyệt vời. Cảm ơn bạn đã trả lời! – Vlad

+0

Xin chào, tôi vừa mới bắt đầu sử dụng PonyDebugger sau đề xuất của bạn. Cuối cùng tôi đã nhận được nó để làm việc và nó khá mát mẻ, nhưng đang gặp khó khăn trong việc tìm kiếm kích thước thực tế của nội dung lõi dữ liệu, đó là điều quan trọng nhất tôi đang tìm kiếm. Bạn có biết PonyDebugger có tính năng này không? Tui bỏ lỡ điều gì vậy? – Vlad

+0

Tôi nghĩ rằng bạn sẽ có thể nhìn thấy nó trong Bộ nhớ - tìm nội dung của cơ sở dữ liệu, nhưng cũng có thể có một thư mục mà Core Data lưu trữ các tệp lớn hơn. –

1

Tìm vị trí của cơ sở dữ liệu sqlite trên sim của bạn.

Sau đó, trong Terminal, sử dụng một lệnh như thế này:

sqlite3 myDataBase.sqlite 

Tại dấu nhắc sqlite>, gõ

.dump 

Trên mô phỏng, nó sẽ được đặt ở đâu đó như:

~/Thư viện/Hỗ trợ ứng dụng/Trình mô phỏng iPhone/[Phiên bản hệ điều hành]/Ứng dụng/[appGUID]/

+1

Nhưng câu hỏi cụ thể là chạy trên thiết bị, không phải là giả lập. –

20

Nếu bạn không cần phải xem thông tin này trong thời gian thực, Organizer Xcode sẽ cho phép bạn tải về thư mục sandbox của bất kỳ ứng dụng phát triển trên thiết bị:

  1. Kết nối thiết bị với máy Mac của bạn.
  2. Mở cửa sổ Trình tổ chức của Xcode vào tab Thiết bị.
  3. Trong danh sách nguồn, hãy chọn mục Ứng dụng trong thiết bị của bạn.
  4. Chọn ứng dụng của bạn từ danh sách trong phần chính của cửa sổ.
  5. Sử dụng nút Tải xuống ở cuối cửa sổ để sao chép thư mục hộp cát vào máy Mac của bạn.
  6. Dữ liệu được tải xuống trong một gói, vì vậy hãy nhấp chuột phải vào nó trong Trình tìm kiếm và chọn Hiển thị Nội dung gói.

Từ đó, bất kỳ công cụ nào có sẵn để mở/kiểm tra cơ sở dữ liệu Core hoặc cơ sở dữ liệu SQLite sẽ hoạt động cho bạn.

Bạn cũng có thể sử dụng gói này khi chạy ứng dụng của bạn trong trình mô phỏng hoặc trên thiết bị để buộc chạy vào trạng thái đã biết. Điều đó có thể cực kỳ hữu ích khi gỡ lỗi những thứ như di chuyển dữ liệu lõi hoặc các trạng thái không hợp lệ lạ.

20

Để xem CoreData từ một thiết bị:

Cắm thiết bị -

Bắt đầu Xcode

Trên menu Xcode đầu -

Chọn Window -

Chọn Thiết bị -

Chọn thiết bị của bạn -

Chọn ứng dụng -

Chọn biểu tượng cài đặt (biểu tượng bánh răng hình bên phải "+ -") -

Chọn Tải container -

Lưu nó vào một thư mục -

Nó sẽ có phần mở rộng là ".xcappdata" -

Mở FireFox

(Nếu bạn không đã có nó - được trình duyệt quản lý FireFox SQLite cắm) Chọn biểu tượng SQLite Manager phía trên bên phải (trông giống như một thùng với sọc)

Chọn biểu tượng thư mục mở

thay đổi Format [file SQLite DB] để All files

Browse để và chọn cơ sở dữ liệu của bạn

Ngoài các bảng và các cột (xin lỗi - các đối tượng và thuộc tính) mà bạn đã tạo trong CoreData - bạn sẽ thấy một vài cột thêm được tạo bởi CoreData.

Hy vọng điều này sẽ giúp ai đó. Đó là một chút của một con gấu, nhưng có giá trị những rắc rối để xem cơ sở dữ liệu của bạn "trong thịt"

Các vấn đề liên quan