Быстрая версия 3.
Я работаю над копированием моего файла realm.default в свое приложение при запуске, если он не существует, чтобы я мог упаковать его как часть распространения. Файл должен быть изменяемым, поэтому я копирую его в каталог документов.
К сожалению, я получаю сообщение об ошибке, что файл не существует. Я проверил, что пути верны и что в .app есть файл.
С учетом сказанного, файл имеет белый кружок с линией на нем (не вводите тип) и говорит, что я не могу открыть его на этом типе Mac, когда я пытаюсь его открыть. Я могу увидеть содержимое, выбрав показать содержимое пакета, и файл находится внутри.
Текст выше ..
Ниже приведен код моего делегата приложения, который загружает файл области:
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)")
}
}
}
Ниже приведены сообщения об ошибках (выделены жирным шрифтом для контекста):
произошла ошибка, вот подробности: Error Domain = NSCocoaErrorDomain Code = 4 «Файл« default.realm »не существует». UserInfo = {NSSourceFilePathErrorKey = / Users / имя пользователя / Library / Developer / CoreSimulator / Devices / 4965D609-499A-4AE5-8ECC-3266DAE4BA87 / data / Containers / Bundle / Application / B324E72E-2B5A-4A02-BC2NDA-FBame .app / default.realm, NSUserStringVariant = (Копировать), NSDestinationFilePath = file: /// Users / username / Library / Developer / CoreSimulator / Devices / 4965D609-499A-4AE5-8ECC-3266DAE4BA87 / data / Containers / Data / Application / 565716DD-E903-409F-B7C8-20154B0DF6BA / Documents / default.realm, NSFilePath = / Users / username / Library / Developer / CoreSimulator / Devices / 4965D609-499A-4AE5-8ECC-3266DAE4BA87 / data / Containers / Bundle /Application/B324E72E-2B5A-4A02-BC2C-FB542FDA6957/AppName.app/default.realm, NSUnderlyingError = 0x618000241bc0 {Error Domain = NSPOSIXErrorDomain Code = 2 "Нет такого файла или каталога"}}
У кого-нибудь есть идеи по этому поводу. Как минимум, путь до Users / username / Library / Developer / CoreSimulator / Devices / 4965D609-499A-4AE5-8ECC-3266DAE4BA87 / data / Containers / Bundle / Application / B324E72E-2B5A-4A02-BC2C-FB542FDA6957. /AppName.app/ существует, а затем файл содержится в пакете.