Tôi đã tạo DB theo địa hạt và tôi không thể tìm thấy tệp vì HĐH của tôi (Yosemite) không có thư mục di động trong / private / var / mobile.
Làm thế nào tôi nên truy cập vào vương quốc của tôi để chạy trong trình duyệt?
Đăng chéo từ các nhóm google
Tôi đã tạo DB theo địa hạt và tôi không thể tìm thấy tệp vì HĐH của tôi (Yosemite) không có thư mục di động trong / private / var / mobile.
Làm thế nào tôi nên truy cập vào vương quốc của tôi để chạy trong trình duyệt?
Đăng chéo từ các nhóm google
Câu trả lời:
Làm cách nào để xem tệp Realm của tôi trong Trình duyệt Realm?
Đảm bảo rằng thiết bị của bạn được kết nối và đi đến cửa sổ thiết bị trong menu Xcode Cửa sổ> Thiết bị (⌘⇧2). Ở đó bạn sẽ có thể chọn thiết bị và ứng dụng của mình từ danh sách các ứng dụng đã cài đặt có quyền gỡ lỗi.
Sau khi chọn ứng dụng của bạn, hãy truy cập cog trên thanh công cụ ở cuối chế độ xem bảng và chọn Tải xuống Container Tải xuống . Ở đó bạn sẽ có thể kéo tệp từ vị trí tài liệu sang máy Mac của bạn. Nó sẽ được lưu dưới dạng một gói xcappdata.
Khi bạn mở đường dẫn cục bộ trong Finder, nơi bạn đã lưu nó, bạn có thể nhấn vào đó bằng cách chọn Hiển thị gói nội dung Gói trong thư mục ngữ cảnh của trình tìm, khi bạn chọn tệp. Cửa sổ công cụ tìm mới sẽ mở ra, nơi bạn tìm thấy Vương quốc của mình bên trong đường dẫn sau (ví dụ): AppData / Documents / default.realm (Thư mục '/ private / var / mobile' là đường dẫn, được iOS sử dụng trên hệ thống tập tin thiết bị.
Chuyển đến thư mục người dùng của bạn:
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm
Có lẽ cách dễ nhất để có được đường dẫn hiện tại của vương quốc mặc định là tạm dừng trình giả lập và nhập thông tin sau vào bảng điều khiển LLDB:
Mục tiêu-C :
(lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL
Swift sử dụng Realm Objective-C :
(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL
Swift sử dụng Realm Swift :
(lldb) po Realm.Configuration.defaultConfiguration.fileURL
Hoặc nếu bạn có một RLMRealm
ví dụ trong tay, bạn có thể sử dụng:
(lldb) po myRealm.configuration.fileURL
Sau đó, chỉ cần sao chép đường dẫn này, mở thiết bị đầu cuối của bạn và nhập open
[Đường dẫn đã dán ở đây]
LƯU Ý: Một số đường dẫn có khoảng trắng trong đó, vì vậy hãy chắc chắn sử dụng "\" trước khoảng trắng để thoát khỏi nó
Đây có lẽ là cách nhanh nhất để tìm tệp của ứng dụng trong trình giả lập. Cài đặt SimPholder . Điều này sẽ cho phép bạn truy cập thư mục tài liệu của ứng dụng trực tiếp từ thanh menu.
Lưu ý Một số người đã đề cập rằng SimPholder đã đưa họ đến thư mục ứng dụng giả lập sai, nếu đó là trường hợp của bạn, hãy in ra đường dẫn vương quốc của bạn bằng cách làm theo các bước ở trên, in ra realm.path của bạn
po RLMRealm.defaultRealmPath()
. Nó nóicalled object type 'NSString *' is not a function or function pointer
po [[RLMRealm defaultRealm]path]
Realm.Configuration.defaultConfiguration.fileURL
error: use of undeclared identifier 'Realm'
Tôi đã tìm thấy cách đơn giản nhất cho iOS / macOS (cho swift 3 Xcode 8.3)
override func viewDidLoad() {
// for swift 2.0 Xcode 7
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
Sau đó x code sẽ ghi lại đường dẫn chính xác, kiểm tra màn hình bên dưới.
Bây giờ hãy mở Finder và nhấn ⌘+ ⇧+ G(lệnh + shift + G) và dán đường dẫn đăng nhập vào Xcode của bạn
Realm.Configuration.defaultConfiguration.fileURL
thay thế
Realm.Configuration.defaultConfiguration.fileURL!
Tạo một thư mục / tìm kiếm thông minh trong Finder. Cung cấp truy cập nhanh chóng và dễ dàng có thể nhấp vào tất cả các tập tin lĩnh vực của bạn.
Mở thư mục /Users/$USER/Library/Developer/CoreSimulator/Devices
trong Finder.
Với thiết bị đầu cuối open /Users/$USER/Library/Developer/CoreSimulator/Devices
Tìm kiếm .realm
Thay đổi tìm kiếm để chỉ tìm trong "Devices"
thư mục.
Khi được sắp xếp theo ngày, điều này sẽ cung cấp cho bạn một danh sách có thể nhấp nhanh chóng và dễ dàng của các .realm
tệp Trình mô phỏng được sửa đổi mới nhất .
Đây là một giải pháp dễ dàng .. Tôi đã nhầm lẫn với điều này trong một thời gian. Tôi nên chỉ ra, đây là một bộ hướng dẫn cụ thể sử dụng Android Studio và Trình giả lập AVD.
1) Khởi động Trình giả lập và chạy ứng dụng của bạn.
2) Trong khi ứng dụng vẫn đang chạy, hãy mở Trình giám sát thiết bị Android. (trên thanh công cụ bên cạnh các biểu tượng trình quản lý AVD và SDK)
3) Nhấp vào tab File Explorer trong Màn hình thiết bị. Nên có rất nhiều thư mục.
4) Điều hướng đường dẫn sau: Dữ liệu> Dữ liệu> Tên gói của bạn > tệp> Mặc định.Realm (hoặc bất cứ điều gì bạn đặt tên cho nó)
Ví dụ. Nếu bạn đang sử dụng một trong các dự án ví dụ cảnh giới, đường dẫn sẽ giống như Dữ liệu> Dữ liệu> io.realm.examples.realmgridview> tệp> default.realm
5) Đánh dấu tệp, nhấp vào biểu tượng Đĩa mềm ở khu vực phía trên bên phải "kéo tệp từ thiết bị"
6) Lưu nó vào bất cứ nơi nào bạn muốn và thực hiện.
Những gì tôi đã làm là sử dụng
let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
và sau đó nó được tạo ở chế độ xem đầy đủ trên máy tính để bàn của tôi và tôi có thể nhấp đúp để khởi chạy Trình duyệt Realm trên nó. Sau đó, tôi có thể xóa tham số và cho phép nó sử dụng vị trí mặc định khi tôi hài lòng rằng tất cả đều hoạt động như mong đợi.
Mục tiêu-C - [RLMRealmConfiguration defaultConfiguration].fileURL
NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);
Vd: /
Đây là lệnh đơn giản nhất bạn có thể chạy để đưa đường dẫn đến tệp .realm. Bạn sẽ thấy tệp .realm sau khi tất cả các thao tác đọc và ghi của bạn được hoàn thành.
Hoặc là
Bạn có thể mở openSim mã nguồn , thay thế các trình giả lập để truy cập thư mục tài liệu của ứng dụng trực tiếp từ thanh menu của bạn
Các câu trả lời ở trên thiếu một cách để tìm tệp cảnh giới trong nền tảng Android và tin tôi theo cách này sẽ tiết kiệm rất nhiều thời gian của bạn mà chúng ta thường lãng phí trong các phương pháp khác để có được tệp cảnh giới. Vậy hãy bắt đầu ...
Lần đầu tiên mở "Trình khám phá tệp thiết bị" trong studio android (Xem -> Công cụ Windows -> Trình khám phá tệp thiết bị.
Điều này sẽ mở trình thám hiểm thiết bị của bạn.
hiện đang mở dữ liệu -> dữ liệu -> (your_app_package_name) -> tệp -> default.realm
default.realm là tập tin mà chúng tôi đang ở đây. Bây giờ Save_as tệp này tại vị trí của bạn và truy cập tệp từ realm_browser và bạn sẽ nhận được cơ sở dữ liệu của mình.
LƯU Ý: Cách tiếp cận được đề cập được thử nghiệm trên điện thoại không root (một + 3).
Nếu bạn đang sử dụng Realm DB mặc định trong trình giả lập:
po Realm().configuration.fileURL
kiểm tra stetho và https://github.com/uPhyca/stetho-realm Video hướng dẫn tại đây: https://www.youtube.com/watch?v=9pFJz5VexRw
Hoặc:
debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)
Bước 1: Có một hằng số được gọi là dev ở đâu đó. Hãy nói tập tin liên tục
public class Constants {
public static var dev: Bool = true
}
Bước 2: Tạo một lớp khác gọi là RealmFifts.swift
import RealmSwift
func realmAndPath() -> Realm {
if Constants.dev {
// location of my desktop
let testRealmURL = NSURL(fileURLWithPath: "/Users/#####/Desktop/TestRealm.realm")
return try! Realm(fileURL: testRealmURL)
} else {
return try! Realm()
}
}
Bước 3: cuối cùng trong trình điều khiển xem của bạn:
let realm = realmAndPath()
cảm ơn Stewart Lynch cho câu trả lời ban đầu
realm.path
thànhrealm.configuration.fileURL!.absoluteString
Nếu bạn gặp lỗi hộp thoại 'Enter Encrypt Key':
Tôi đang sử dụng Swift 2.1 với Realm 0.96.2 và gặp lỗi này khi cố mở tệp cơ sở dữ liệu:
'mặc định' không thể mở được. Nó có thể được mã hóa hoặc nó không ở định dạng tệp tương thích. Nếu bạn biết tệp được mã hóa, bạn có thể nhập khóa mã hóa theo cách thủ công để mở tệp.
Nhận thấy rằng việc sử dụng phiên bản tiền phát hành của Realm Browser 0.96 đã khắc phục sự cố:
https://github.com/realm/realm-browser-osx/release/tag/0.96-prerelease
Đầu tiên, tôi thừa nhận rằng đây là một chủ đề Android nhưng nó là kết quả tìm kiếm đầu tiên cho vấn đề này nói chung.
Để mở db Xcode Simulator Realm db được tạo gần đây nhất trong Trình duyệt Realm, bạn có thể sử dụng tập lệnh này trong Automator hoặc nhập tất cả vào trong thiết bị đầu cuối. Bằng cách sử dụng Automator, tôi có quyền truy cập bằng một cú nhấp chuột vào vương quốc hiện tại của mình.
cd ~/Library/Developer/CoreSimulator/Devices/
cd `ls -t | head -n 1`/data/Containers/Data/Application
cd `ls -t | head -n 1`/Documents
open -a 'Realm Browser' ./default.realm
Cài đặt trình duyệt Realm. Trong Automator, nhấp vào Mới, chọn Run Shell Script, dán mã, thay đổi tên Realm Db, Nhấp Run để kiểm tra, lưu tệp ở đâu đó thuận tiện để truy cập nhấp nhanh.
Tôi không biết nơi tôi tìm thấy mẹo này lần đầu tiên nhưng chủ đề này nhắc nhở tôi cách tôi truy cập dữ liệu trực tiếp của mình trong quá khứ.
Chỉ dành cho Ứng dụng của bạn là trên Trình mô phỏng iOS
Đi vào
console.log (Realm.defaultPath)
trong mã, ví dụ: App.js
Tôi đã tiến thêm một bước này. Tôi đã tạo một tệp nhanh chóng có tên RealmFifts và trong đó, tôi đã tạo chức năng này
import RealmSwift
func realmAndPath() -> Realm {
if dev {
// location of my desktop
return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
} else {
return try! Realm()
}
}
Bây giờ trong trình điều khiển khung nhìn chính của tôi, tôi có một biến boolean toàn cầu được gọi là dev
var dev: Bool = true // when in development mode
var dev: Bool = false // when I want to run on my device or upload to app stor.
Bây giờ, tất cả những gì tôi phải làm trong mã của mình là
let realm = realmAndPath()
Vì vậy, khi ở chế độ phát triển, tôi có thể tìm thấy cơ sở dữ liệu cảnh giới của mình trên máy tính để bàn và có thể mở trong Realm Browser.
Trong Swift
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}
Để có được đường dẫn DB cho iOS, cách đơn giản nhất là:
(lldb)
) và gõ:po RLMRealm.defaultRealmPath
Tada ... bạn có đường dẫn đến cơ sở dữ liệu vương quốc của bạn
Lệnh (lldb) chính xác là : Realm.Configuration.defaultConfiguration.path
.
Đối với những người sử dụng React Native và sử dụng vương quốc mặc định:
Realm.defaultPath
componentDidMount() { console.log(Realm.defaultPath) }
trong thành phần của tôi bằng cách sử dụng Realm làm việc cho tôi. Kiểm tra bàn điều khiển xcode cho đường dẫn sau đó.
Lệnh lldb chính xác cho Xcode 7, Swift 2.2+ là po Realm.Configuration.defaultConfiguration.path!
path
nhưng fileURL
Realm.Configuration.defaultConfiguration.fileURL!
po Realm.Configuration.defaultConfiguration.fileURL?.path