IT story

영역 파일을 찾는 방법은 무엇입니까?

hot-time 2020. 4. 16. 08:30
반응형

영역 파일을 찾는 방법은 무엇입니까?


영역별로 DB를 만들었고 / private / var / mobile에 모바일 폴더가 없어 내 OS (Yosemite)로 파일을 찾을 수 없습니다.

브라우저에서 실행하려면 영역에 어떻게 액세스해야합니까?

Google 그룹에서 교차 게시


영역 파일 찾기

안드로이드

Realm Browser에서 Realm 파일을 보는 방법은 무엇입니까?

iOS의 경우

앱이 기기에있는 경우

장치가 연결되어 있는지 확인하고 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를 설치 하십시오 . 이를 통해 메뉴 표시 줄에서 직접 앱의 문서 디렉토리에 액세스 할 수 있습니다.

참고 일부 사람들은 SimPholders가이를 잘못된 시뮬레이터 앱 폴더로 가져 갔다고 언급했으며,이 경우에는 위 단계에 따라 영역 경로를 인쇄하고 영역을 인쇄합니다.


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)를하고 붙여 경로를 귀하에 로그온 엑스 코드


시뮬레이터 앱을위한 쉬운 대안

Finder에서 스마트 폴더 / 검색을 생성하십시오. 모든 영역 파일에 빠르고 쉽게 클릭하여 액세스 할 수 있습니다.

  1. /Users/$USER/Library/Developer/CoreSimulator/DevicesFinder 에서 폴더 를여십시오.

    터미널 open /Users/$USER/Library/Developer/CoreSimulator/Devices

  2. 검색 .realm

  3. "Devices"폴더 만 찾도록 검색을 변경하십시오 .

  1. 검색을 사이드 바에 저장하십시오 (예 : 영역)

날짜별로 정렬하면 최신 수정 된 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은 메뉴 표시 줄에서 직접 앱의 문서 디렉토리에 액세스 할 수


최신 영역에 대한 업데이트 된 답변 :

안드로이드의 경우 :

체크 아웃 stetho 및 https://github.com/uPhyca/stetho-realm 비디오 자습서 : https://www.youtube.com/watch?v=9pFJz5VexRw

iOS 용 (Swift)

어느 한 쪽:

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에게 감사합니다.


위의 답변은 안드로이드 플랫폼에서 영역 파일을 찾는 방법이 누락되어 있으며이 방법으로 나에게 많은 시간을 절약 할 수 있다고 생각합니다. 우리는 일반적으로 영역 파일을 얻기 위해 다른 방법으로 낭비합니다. 이제 시작하겠습니다 ...

먼저 android studio에서 "장치 파일 탐색기"를 엽니 다 (보기-> 도구 Windows-> 장치 파일 탐색기).

장치 탐색기가 열립니다.

여기에 이미지 설명을 입력하십시오

이제 데이터 열기 -> 데이터-> (your_app_package_name)-> 파일-> default.realm

default.realm 은 우리가있는 파일입니다. 이제이 파일을 사용자 위치에 저장하고 realm_browser에서 파일에 액세스하면 데이터베이스를 얻게됩니다.

참고 : 언급 된 접근 방식은 루팅되지 않은 전화 (1 + 3)에서 테스트됩니다.


시뮬레이터에서 기본 Realm DB를 사용하는 경우 :

po Realm().configuration.fileURL

'암호화 키 입력'대화 상자 오류가 발생하는 경우 :

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()

따라서 개발 모드에있을 때 데스크탑에서 영역 데이터베이스를 찾고 영역 브라우저에서 열 수 있습니다.


터미널에서이 명령을 실행하여 영역 파일을 찾았습니다 sudo find / -name "*.realm".

도움이 되었기를 바랍니다!


스위프트에서

func getFilePath() -> URL? {
    let realm = try! Realm()
    return realm.configuration.fileURL
}

To get the DB path for iOS, the simplest way is to:

  1. Launch your app in a simulator
  2. Pause it at any time in the debugger
  3. Go to the console (where you have (lldb)) and type: po RLMRealm.defaultRealmPath

Tada...you have the path to your realm database


The correct (lldb) command is: Realm.Configuration.defaultConfiguration.path.


Under Tools -> Android Device Monitor

And under File Explorer. Search for the apps. And the file is under data/data.


The correct lldb command for Xcode 7, Swift 2.2+ is po Realm.Configuration.defaultConfiguration.path!


Swift 2.3 solution

Easier solution that won't break with Realm updates

    let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    print("App Path: \(dirPaths)")

The .realm file should be inside "Documents"


For those using React Native and using the default realm:

Realm.defaultPath

참고URL : https://stackoverflow.com/questions/28465706/how-to-find-my-realm-file

반응형