답변:
Realm Browser에서 Realm 파일을 보는 방법은 무엇입니까?
장치가 연결되어 있는지 확인하고 Xcode 메뉴 창> 장치 (⌘⇧2) 에서 장치 창으로 이동하십시오 . 여기에서 디버깅 권한이있는 설치된 앱 목록에서 기기와 앱을 선택할 수 있습니다.
앱을 선택한 후 테이블보기 하단의 툴바에서 톱니 바퀴로 이동하여 “컨테이너 다운로드…”를 선택하십시오 . 거기에서 파일을 문서 위치에서 Mac으로 가져올 수 있습니다. xcappdata 번들로 저장됩니다.
파인더에서 저장 한 로컬 경로를 열면 파일을 선택할 때 파인더의 상황에 맞는 메뉴에서 "패키지 내용 표시" 를 선택하여 경로를 열 수 있습니다 . 새로운 파인더 창이 열리면 다음 경로에서 Realm을 찾을 수 있습니다 (예 : AppData / Documents / default.realm ( '/ private / var / mobile'디렉토리는 iOS의 경로). 장치 파일 시스템.
사용자의 디렉토리로 이동하십시오.
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm
아마도 기본 영역의 현재 경로를 얻는 가장 쉬운 방법은 시뮬레이터를 일시 중지하고 LLDB 콘솔에 다음을 입력하는 것입니다.
목표 -C :
(lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL
Realm Objective-C를 사용하는 스위프트 :
(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL
Realm Swift를 사용한 스위프트 :
(lldb) po Realm.Configuration.defaultConfiguration.fileURL
또는 RLMRealm
인스턴스 가있는 경우 다음을 사용할 수 있습니다.
(lldb) po myRealm.configuration.fileURL
그런 다음이 경로를 복사하고 터미널을 열고 [Pasted path here]를 입력 open
하십시오.
참고 : 일부 경로에는 공백이 있으므로 이스케이프하려면 공백 앞에 "\"를 사용해야합니다.
시뮬레이터에서 앱 파일을 찾는 가장 빠른 방법 일 것입니다. SimPholders를 설치 하십시오 . 이를 통해 메뉴 표시 줄에서 직접 앱의 문서 디렉토리에 액세스 할 수 있습니다.
참고 일부 사람들은 SimPholders가 잘못된 시뮬레이터 앱 폴더로 가져 갔다고 언급했습니다.이 경우에는 위의 단계에 따라 영역 경로를 인쇄하고 영역을 인쇄하십시오.
po RLMRealm.defaultRealmPath()
합니다. 그것은 말한다called object type 'NSString *' is not a function or function pointer
po [[RLMRealm defaultRealm]path]
Realm.Configuration.defaultConfiguration.fileURL
error: use of undeclared identifier 'Realm'
iOS / macOS에서 가장 간단한 방법을 찾았습니다 (swift 3 Xcode 8.3의 경우)
override func viewDidLoad() {
// for swift 2.0 Xcode 7
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
그런 다음 x 코드가 올바른 경로를 기록합니다. 아래 화면을 확인하십시오.
이제 열 찾기 를 눌러 ⌘+ ⇧+ G(명령 + Shift + G)를하고 붙여 경로를 귀하에 로그온 엑스 코드
Realm.Configuration.defaultConfiguration.fileURL
대신에
Realm.Configuration.defaultConfiguration.fileURL!
Finder에서 스마트 폴더 / 검색을 생성하십시오. 모든 영역 파일에 빠르고 쉽게 클릭하여 액세스 할 수 있습니다.
/Users/$USER/Library/Developer/CoreSimulator/Devices
Finder 에서 폴더 를여십시오.
터미널 open /Users/$USER/Library/Developer/CoreSimulator/Devices
검색 .realm
"Devices"
폴더 만 찾도록 검색을 변경하십시오 .
날짜별로 정렬하면 최신 수정 된 Simulator .realm
파일을 빠르고 쉽게 클릭 할 수있는 목록으로 제공 합니다.
여기에 쉬운 해결책이 있습니다. 잠시 동안이 문제를 해결했습니다. Android Studio 및 AVD 에뮬레이터를 사용하는 특정 지침 세트입니다.
1) 에뮬레이터를 시작하고 앱을 실행하십시오.
2) 앱이 계속 실행되는 동안 Android 장치 모니터를 엽니 다. (AVD 및 SDK 관리자 아이콘 옆의 도구 모음에 있음)
3) 장치 모니터에서 파일 탐색기 탭을 클릭하십시오. 많은 폴더가 있어야합니다.
4) 다음 경로를 탐색하십시오. 데이터> 데이터> 패키지 이름 > 파일> Default.Realm (또는 지정한 이름)
전의. 영역 예제 프로젝트 중 하나를 사용하는 경우 경로는 Data> Data> io.realm.examples.realmgridview> files> default.realm과 같습니다.
5) 파일을 강조 표시하고 오른쪽 상단의 "장치에서 파일 가져 오기"에서 플로피 디스크 아이콘을 클릭하십시오.
6) 원하는 곳에 저장하십시오.
내가 한 일은
let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
그런 다음 데스크탑에서 전체 화면으로 생성되며 두 번 클릭하여 Realm Browser를 시작할 수 있습니다. 나중에 매개 변수를 제거하고 모든 것이 예상대로 작동한다고 만족할 때 기본 위치를 사용하도록 할 수 있습니다.
목표 -C- [RLMRealmConfiguration defaultConfiguration].fileURL
NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);
예 : / 사용자 / "사용자 이름"/ 라이브러리 / 개발자 / CoreSimulator / 장치 / E58645FF-90DE-434D-B2EB-FA145EB6F2EA / data / Containers / Data / Application / E427BD21-2CB1-4F64-9ADF-8742FF731209 / 문서 /
.realm 파일의 경로를 얻기 위해 실행할 수있는 가장 간단한 명령입니다. 모든 읽기 및 쓰기 작업이 완료되면 .realm 파일이 표시됩니다.
또는
당신은 당신이 오픈 소스 수 openSim는 , 대체 simpholders은 메뉴 표시 줄에서 직접 앱의 문서 디렉토리에 액세스 할 수
위의 답변은 안드로이드 플랫폼에서 영역 파일을 찾는 방법이 누락되어 있으며이 방법으로 나에게 많은 시간을 절약 할 수 있다고 생각합니다. 우리는 일반적으로 영역 파일을 얻는 데 다른 접근 방식을 낭비합니다. 그럼 시작합시다 ...
먼저 android studio에서 "장치 파일 탐색기"를 엽니 다 (보기-> 도구 Windows-> 장치 파일 탐색기).
장치 탐색기가 열립니다.
이제 데이터-> 데이터-> (your_app_package_name)-> 파일-> default.realm을 엽니 다.
default.realm 은 우리가있는 파일입니다. 이제이 파일을 현재 위치에 저장하고 realm_browser에서 파일에 액세스하면 데이터베이스를 얻게됩니다.
참고 : 언급 된 접근 방식은 루팅되지 않은 전화 (1 + 3)에서 테스트됩니다.
시뮬레이터에서 기본 Realm DB를 사용하는 경우 :
po Realm().configuration.fileURL
체크 아웃 stetho 및 https://github.com/uPhyca/stetho-realm 비디오 자습서 : https://www.youtube.com/watch?v=9pFJz5VexRw
어느 한 쪽:
debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)
1 단계 : 어딘가에 dev라는 상수가 있습니다. 상수 파일이라고합시다
public class Constants {
public static var dev: Bool = true
}
2 단계 : RealmFunctions.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()
}
}
3 단계 : 마지막으로 뷰 컨트롤러에서
let realm = realmAndPath()
원래 답변을 주신 Stewart Lynch에게 감사드립니다.
realm.path
에realm.configuration.fileURL!.absoluteString
'암호화 키 입력'대화 상자 오류가 발생하는 경우 :
Realm 0.96.2에서 Swift 2.1을 사용하고 있으며 데이터베이스 파일을 열려고 할 때이 오류가 발생했습니다.
'기본'을 열 수 없습니다. 암호화되었거나 호환 가능한 파일 형식이 아닙니다. 파일이 암호화 된 것을 알고 있으면 암호화 키를 수동으로 입력하여 열 수 있습니다.
시험판 버전의 Realm Browser 0.96을 사용하면 문제가 해결되었습니다.
https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease
먼저, 이것은 Android 스레드이지만 일반적 으로이 문제의 첫 번째 검색 결과라는 것을 알고 있습니다.
Realm Browser에서 가장 최근에 생성 된 Xcode Simulator Realm db를 열려면 Automator에서이 스크립트를 사용하거나 터미널에 모두 입력하십시오. Automator를 사용하면 한 번의 클릭으로 현재 영역에 액세스 할 수 있습니다.
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
Realm Browser를 설치하십시오. Automator에서 새로 만들기를 클릭하고 셸 스크립트 실행을 선택하고 코드에 붙여넣고 Realm Db 이름을 변경 한 후 실행을 클릭하여 테스트하고 빠른 클릭 액세스를 위해 편리한 파일을 저장하십시오.
이 팁을 처음 찾은 곳을 모르지만이 스레드는 과거에 내 라이브 데이터에 어떻게 액세스하고 있는지 상기시켜주었습니다.
앱이 iOS 시뮬레이터에 있다면
시작하다
console.log (Realm.defaultPath)
코드에서 예 : App.js
나는 한 걸음 더 나아 갔다. RealmFunctions 라는 신속한 파일을 만들었고이 함수를 만들었습니다.
import RealmSwift
func realmAndPath() -> Realm {
if dev {
// location of my desktop
return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
} else {
return try! Realm()
}
}
이제 메인 뷰 컨트롤러에 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.
이제 코드에서해야 할 일은
let realm = realmAndPath()
따라서 개발 모드에있을 때 데스크탑에서 영역 데이터베이스를 찾고 영역 브라우저에서 열 수 있습니다.
React Native를 사용하고 기본 영역을 사용하는 경우 :
Realm.defaultPath
componentDidMount() { console.log(Realm.defaultPath) }
Realm을 사용하는 구성 요소에서 나를 위해 일했습니다. 나중에 xcode 콘솔에서 경로를 확인하십시오.
Xcode 7, Swift 2.2+에 대한 올바른 lldb 명령은 po Realm.Configuration.defaultConfiguration.path!
path
하지만 fileURL
: Realm.Configuration.defaultConfiguration.fileURL를!
po Realm.Configuration.defaultConfiguration.fileURL?.path