Как связать файл области с моим приложением в swift4.2? - PullRequest
0 голосов
/ 29 января 2019

Я хочу показать постоянные данные, когда в приложении первый ланч на устройстве, чтобы пользователь мог видеть его, и я использую область в качестве базы данных.

Я был обманут после того, как заполнил свой файл данными насимулятор и теперь нужно объединить или связать файл данных с моим приложением.Теперь я скопировал свой файл default.realm в dcouments, затем скопировал некоторые связанные коды из stackoverflow в AppDelegate, чтобы связать его, но не получилось!

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    openRealm() //2
    print(Realm.Configuration.defaultConfiguration.fileURL) //3
    return true
}

//1
func openRealm() {
    let bundlePath = Bundle.main.path(forResource: "default", ofType: "realm")!
    let defaultPath = Realm.Configuration.defaultConfiguration.fileURL!.path
    let fileManager = FileManager.default

    // Only need to copy the prepopulated `.realm` file if it doesn't exist yet
    if !fileManager.fileExists(atPath: defaultPath){
        print("use pre-populated database")
        do {
            try fileManager.copyItem(atPath: bundlePath, toPath: defaultPath)
            print("Copied")
        } catch {
            print(error)
        }
    }

} //f

при сборке приложения всегда происходит сбой, а Xcode сообщает, что значение равно nill

Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения

1 Ответ

0 голосов
/ 29 января 2019

Убедитесь, что «Целевое членство» файла правильно

Target Maembership

и что файл включен в «Фазы сборки / Ресурсы комплекта копирования»"

Copy bundle resource

И, да, я потратил впустую часы на

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...