Versi cepat 3.
Saya sedang menyalin file realm.default saya ke dalam aplikasi saya saat memulai jika tidak ada sehingga saya dapat mengemasnya sebagai bagian dari distribusi. File tersebut harus bisa diubah jadi saya menyalinnya ke direktori dokumen.
Sayangnya saya mendapatkan pesan kesalahan bahwa file tersebut tidak ada. Saya telah memverifikasi bahwa jalurnya benar, dan .app memiliki file di dalamnya.
Karena itu, file tersebut memiliki lingkaran putih dengan garis di atasnya (jangan masukkan jenisnya) dan mengatakan bahwa saya tidak dapat membukanya di Mac jenis ini ketika saya mencoba membukanya. Saya dapat melihat isinya dengan memilih tampilkan isi paket dan file tersebut ada di dalamnya.
Teks Di Atas..
Berikut ini adalah kode dari Delegasi Aplikasi saya yang memuat file realm:
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
func openRealm() {
let defaultRealmPath = Realm.Configuration.defaultConfiguration.fileURL!
let bundleReamPath = Bundle.main.path(forResource: "default", ofType:"realm")
if !FileManager.default.fileExists(atPath: String(describing: defaultRealmPath)) {
do
{
try FileManager.default.copyItem(atPath: bundleReamPath!, toPath: String(describing: defaultRealmPath))
}
catch let error as NSError {
// Catch fires here, with an NSError being thrown
print("error occurred, here are the details:\n \(error)")
}
}
}
Berikut ini adalah pesan kesalahan (dicetak tebal untuk konteksnya):
terjadi error, berikut detailnya: Error Domain=NSCocoaErrorDomain Code=4 "File “default.realm” tidak ada." UserInfo={NSSourceFilePathErrorKey=/Pengguna/nama pengguna/Perpustakaan/Pengembang/CoreSimulator/Devices/4965D609-499A-4AE5-8ECC-3266DAE4BA87/data/Containers/Bundle/Application/B324E72E-2B5A-4A02-BC2C-FB542FDA69 57/Nama Aplikasi .app/default.realm, NSUserStringVariant=( Salin ), NSDestinationFilePath=file:///Users/username/Library/Developer/CoreSimulator/Devices/4965D609-499A-4AE5-8ECC-3266DAE4BA87/data/Containers/ DATA/APLIKASI/565716DD-E903-409F-B7C8-20154B0DF6BA/DOCUMENT/DEFAULT.REALM, NSFILEPATH =/Pengguna/Nama Pengguna/Perpustakaan/Pengembang/Coresimulator/Perangkat/4965D609-49999999A-4AE5-4AE5-46666666666666 /Application/B324E72E-2B5A-4A02-BC2C-FB542FDA6957/AppName.app/default.realm, NSUnderlyingError=0x618000241bc0 {Error Domain=NSPOSIXErrorDomain Code=2 "Tidak ada file atau direktori seperti itu"}}
Ada yang punya ide tentang ini. Minimal, jalur hingga Users/username/Library/Developer/CoreSimulator/Devices/4965D609-499A-4AE5-8ECC-3266DAE4BA87/data/Containers/Bundle/Application/B324E72E-2B5A-4A02-BC2C-FB542FDA6957 /AppName.app/ ada dan kemudian file tersebut terkandung dalam paket.