Bölge tarafından bir DB yarattık ve benim OS (Yosemite) / private / var / mobile bir mobil klasör yok gibi dosyayı bulamıyorum.
Tarayıcıda çalıştırmak için bölgeme nasıl erişmeliyim?
Google gruplarından gönderilen çapraz
Bölge tarafından bir DB yarattık ve benim OS (Yosemite) / private / var / mobile bir mobil klasör yok gibi dosyayı bulamıyorum.
Tarayıcıda çalıştırmak için bölgeme nasıl erişmeliyim?
Google gruplarından gönderilen çapraz
Yanıtlar:
Bölge Dosyamı Bölge Tarayıcısında nasıl görüntüleyebilirim?
Cihazınızın bağlı olduğundan emin olun ve Xcode menüsü Pencere> Cihazlar (⌘⇧2) içindeki cihazlar penceresine gidin . Burada, hata ayıklama izinlerine sahip yüklü uygulamalar listesinden cihazınızı ve uygulamanızı seçebileceksiniz.
Uygulamanızı seçtikten sonra, tablo görünümünün altındaki araç çubuğunda bulunan dişli çark seçeneğine gidin ve “Kapsayıcıyı İndir…” seçeneğini seçin . Orada dosyayı belge konumundan Mac'inize çekebileceksiniz. Bir xcappdata paketi olarak kaydedilecektir.
Yerel yolu Finder'da kaydettiğiniz yerde açtığınızda , dosyayı seçtiğinizde bulucunun içerik menüsünde “Paket İçeriğini Göster” i seçerek buna dokunabilirsiniz . Bölgenizi aşağıdaki yolda bulduğunuz yeni bir bulucu penceresi açılacaktır (örn.): AppData / Documents / default.realm ('/ private / var / mobile' dizini, iOS tarafından aygıt dosya sistemi.
Kullanıcının dizinine gidin:
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm
Muhtemelen varsayılan bölgenin geçerli yolunu elde etmenin en kolay yolu simülatörü duraklatmak ve LLDB konsoluna aşağıdakileri girmektir:
Amaç-C :
(lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL
Realm Objective-C kullanarak hızlı :
(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL
Realm Swift kullanarak Swift :
(lldb) po Realm.Configuration.defaultConfiguration.fileURL
Veya elinizde bir RLMRealm
örnek varsa , şunları kullanabilirsiniz:
(lldb) po myRealm.configuration.fileURL
Ardından bu yolu kopyalayın, terminalinizi açın ve open
[Buraya yapıştırılan yol] yazın
NOT: Bazı yollarda boşluk vardır, bu nedenle boşluktan kaçmak için "\" kullandığınızdan emin olun.
Bu muhtemelen simülatörde bir uygulamanın dosyasını bulmanın en hızlı yoludur. SimPholders'ı yükleyin . Bu, uygulamanızın belgeler dizinine doğrudan menü çubuğunuzdan erişmenizi sağlar.
Not Bazı insanlar SimP sahiplerinin onları yanlış simülatör uygulama klasörüne götürdüğünü belirtmiştir, eğer durum buysa, yukarıdaki adımları izleyerek bölge yolunuzu yazdırın.
po RLMRealm.defaultRealmPath()
. Diyorcalled object type 'NSString *' is not a function or function pointer
po [[RLMRealm defaultRealm]path]
Realm.Configuration.defaultConfiguration.fileURL
error: use of undeclared identifier 'Realm'
İOS / macOS için en basit yolu buldum (hızlı 3 Xcode 8.3 için)
override func viewDidLoad() {
// for swift 2.0 Xcode 7
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
Sonra x kodu doğru yolu kaydedecektir, aşağıdaki ekranı kontrol edin.
Şimdi Finder'ınızı açın ve ⌘+ ⇧+ G(command + shift + G) tuşlarına basın ve Xcode'unuzda oturum açan yolu yapıştırın
Realm.Configuration.defaultConfiguration.fileURL
yerine
Realm.Configuration.defaultConfiguration.fileURL!
Finder'da akıllı bir klasör oluşturun / arayın. Tüm bölge dosyalarınıza hızlı ve kolay tıklanabilir erişim sağlar.
Klasörü /Users/$USER/Library/Developer/CoreSimulator/Devices
Finder'da açın .
Terminal ile open /Users/$USER/Library/Developer/CoreSimulator/Devices
Aramak .realm
Aramayı "Devices"
yalnızca klasöre bakacak şekilde değiştirin .
Tarihe göre sıralandığında, bu size en son değiştirilen Simülatör .realm
dosyalarının hızlı ve kolay bir tıklanabilir listesini verecektir .
İşte kolay bir çözüm .. Bir süredir bununla uğraştım. Şunu belirtmeliyim ki, bu Android Studio ve AVD Emulator kullanan belirli bir talimatlar dizisidir.
1) Öykünücüyü başlatın ve uygulamanızı çalıştırın.
2) Uygulama hala çalışırken Android Cihaz Monitörü'nü açın. (AVD ve SDK yöneticisi simgelerinin yanındaki araç çubuğundadır)
3) Aygıt İzleyicisi'nde Dosya Gezgini sekmesini tıklatın. Çok sayıda klasör olmalı.
4) Aşağıdaki yolda gezinin: Veri> Veri> Paket Adınız > dosyalar> Varsayılan. Gerçek (veya adınız ne olursa olsun)
Ör. Bölge örnek projelerinden birini kullanıyorsanız, yol Veri> Veri> io.realm.examples.realmgridview> dosyalar> default.realm gibi bir şey olacaktır.
5) Dosyayı vurgulayın, sağ üst kısımdaki "cihazdan bir dosya çekin" bölümündeki Disket simgesini tıklayın
6) istediğiniz yere kaydedin ve yapılır.
Yaptığım şey kullanmaktı
let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
ve masaüstümde tam görünümde oluşturulur ve üzerinde Realm Tarayıcısını başlatmak için çift tıklayabilirim. Daha sonra, parametreyi kaldırabilir ve her şeyin beklendiği gibi çalıştığından memnun olduğumda varsayılan konumu kullanmasına izin verebilirim.
Hedef-C - [RLMRealmConfiguration defaultConfiguration].fileURL
NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);
EG-/ Users / "Sizin-kullanıcı adı" / Library / Geliştirici / CoreSimulator / Cihazlar / E58645FF-90DE-434D-B2EB-FA145EB6F2EA / veri / Kapları / Veri / Uygulama / E427BD21-2CB1-4F64-9ADF-8742FF731209 / Belgeler /
Bu, .realm dosyasına giden yolu almak için çalıştırabileceğiniz en basit komuttur. Tüm okuma ve yazma işlemleriniz tamamlandıktan sonra .realm dosyasını göreceksiniz.
Veya
Uygulamanızın belgeler dizinine doğrudan menü çubuğunuzdan erişmek için basitlerin alternatifi açık kaynaklı openSim'i açabilirsiniz.
Yukarıdaki cevaplar, android platformunda bölge dosyasını bulmanın bir yolunu eksik ve bana bu şekilde inanıyorum, genellikle bölge dosyasını almak için diğer yaklaşımlarda boşa harcadığımız zamanınızı kurtaracaktır. Haydi başlayalım...
İlk önce Android Studio'da "Aygıt Dosya Gezgini" ni açın (Görünüm -> Araçlar Windows -> Aygıt Dosya Gezgini.
Bu, cihaz gezgini açacaktır.
şimdi verileri aç -> veriler -> (uygulama_paketiniz_adı) -> dosyalar -> default.realm
default.realm , burada olduğumuz dosyadır. Şimdi bu dosyayı bulunduğunuz yere kaydedin ve dosyaya realm_browser'dan erişin ve veritabanınızı alacaksınız.
NOT: Bahsedilen yaklaşım, root olmayan telefonda (bir + 3) test edilir.
Simülatörde varsayılan Realm DB kullanıyorsanız:
po Realm().configuration.fileURL
ödeme stetho ve https://github.com/uPhyca/stetho-realm Burada video eğitimi: https://www.youtube.com/watch?v=9pFJz5VexRw
Ya:
debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)
Adım 1: Bir yerde dev olarak adlandırılan bir sabit bulundurun. Diyelim ki Sabit dosya
public class Constants {
public static var dev: Bool = true
}
Adım 2: RealmFunctions.swift adlı başka bir sınıf oluşturun
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.Adım: Son olarak görünüm denetleyicinizde:
let realm = realmAndPath()
orijinal cevap için Stewart Lynch'e teşekkürler
realm.path
için gereklirealm.configuration.fileURL!.absoluteString
'Şifreleme Anahtarını Girin' iletişim kutusu hatası alıyorsanız:
Swift 2.1 Realm 0.96.2 ile kullanıyorum ve veritabanı dosyasını açmaya çalışırken bu hatayı alıyordum:
'varsayılan' açılamadı. Şifrelenmiş olabilir veya uyumlu bir dosya biçiminde değil. Dosyanın şifrelenmiş olduğunu biliyorsanız, açmak için şifreleme anahtarını manuel olarak girebilirsiniz.
Realm Browser 0.96'nın yayın öncesi sürümünü kullanmanın sorunu çözdüğü bulundu:
https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease
İlk olarak, bunun bir Android iş parçacığı olduğunu kabul ediyorum, ancak genel olarak bu sorun için ilk arama sonucu.
En son oluşturulan Xcode Simulator Realm db'yi Realm Browser'da açmak için bu komut dosyasını Automator'da kullanabilir veya terminalde hepsini yazabilirsiniz. Automator'ı kullanarak, geçerli bölgeme tek tıklamayla erişebiliyorum.
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
Bölge Tarayıcısını yükleyin. Automator'da Yeni'yi tıklatın, Kabuk Betiğini Çalıştır'ı seçin, kodu yapıştırın, Bölge Db adını değiştirin, Test etmek için Çalıştır'ı tıklayın, dosyayı hızlı tıklama erişimi için uygun bir yere kaydedin.
Bu ipucunu ilk kez nerede bulduğumu bilmiyorum ama bu konu bana geçmişte canlı verilerime nasıl eriştiğimi hatırlattı.
Sadece Uygulamanız için iOS Simulator'da
Giriş
console.log (Realm.defaultPath)
kodda örneğin: App.js
Bunu bir adım daha ileri götürdüm. RealmFunctions adlı hızlı bir dosya oluşturdum ve içinde bu işlevi yarattım
import RealmSwift
func realmAndPath() -> Realm {
if dev {
// location of my desktop
return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
} else {
return try! Realm()
}
}
Şimdi ana görünüm denetleyicimde dev adında global bir boole değişkenim var
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.
Şimdi, kodumda tek yapmam gereken
let realm = realmAndPath()
Geliştirme modundayken bölge veritabanımı masaüstümde bulabilir ve Bölge Tarayıcısında açabiliyorum.
Swift'te
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}
İOS için DB yolunu elde etmenin en basit yolu:
(lldb)
) gidin ve şunu yazın:po RLMRealm.defaultRealmPath
Tada ... bölge veri tabanına giden yolun var
Doğru (lldb) komut şöyledir: Realm.Configuration.defaultConfiguration.path
.
React Native kullanan ve varsayılan alanı kullanan kişiler için:
Realm.defaultPath
componentDidMount() { console.log(Realm.defaultPath) }
Realm kullanan bileşenimde benim için çalıştı. Daha sonra yol için xcode konsolunu kontrol edin.
Xcode 7, Swift 2.2+ için doğru lldb komutu: po Realm.Configuration.defaultConfiguration.path!
path
ama fileURL
: Realm.Configuration.defaultConfiguration.fileURL!
po Realm.Configuration.defaultConfiguration.fileURL?.path