领域 iOS 教程,从头开始构建 iOS 应用程序,写入失败



我一步一步地按照 realm 网站上的"从头开始构建 iOS 应用程序"教程并观看了视频。一切似乎都井井有条。不幸的是,本教程不包括完整的源代码以供参考。

https://realm.io/docs/tutorials/realmtasks/

当我运行项目时,它会连接到 ROS 并毫无问题地创建领域。我可以在领域浏览器和网络浏览器中看到这一点。

但是,它会立即开始抛出错误(在 Xcode 控制台中)。

realmTask[1000:40858] Sync: Connection[1]: Connected to endpoint '127.0.0.1:9080' 
realmTask[1000:40858] Sync: Connection[1]: Writing failed: End of input
realmTask[1000:40858] Sync: Connection[1]: Connection closed due to error
应用不会

崩溃,错误会一遍又一遍地重复,并且应用不会执行任何操作。

这是我的设置代码。

func setupRealm() {
    // Log in existing user with username and password
    let username = "abcdefg"  
    let password = "1234"  
    SyncUser.logIn(with: .usernamePassword(username: username, password: password, register: false), server: URL(string: "http://127.0.0.1:9080")!) { user, error in
        guard let user = user else {
            fatalError(String(describing: error))
        }
        DispatchQueue.main.async {
            // Open Realm
            let configuration = Realm.Configuration(
                syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "realm://127.0.0.1:9080/~/realmtasks")!)
            )
            self.realm = try! Realm(configuration: configuration)
            // Show initial tasks
            func updateList() {
                if self.items.realm == nil, let list = self.realm.objects(TaskList.self).first {
                    self.items = list.items
                }
                self.tableView.reloadData()
            }
            updateList()
            // Notify us when Realm changes
            self.notificationToken = self.realm.observe { _,_ in
                updateList()
            }
        }
    }
}
deinit {
    notificationToken?.invalidate()
}

对于混乱表示歉意;我们将尽快更新我们的教程。

Realm Cocoa 3.* 需要使用 ROS 2.0,它是通过 NPM 安装的(说明在这里)。来自我们网站上的 zip 文件的 Realm 对象服务器版本是 ROS 1.0,与 Realm Cocoa 3.* 不兼容。

如果您希望查看演示项目的完整源代码,可以在GitHub上查看其存储库。您可以克隆该存储库,安装其CocoaPods,打开Xcode工作区,然后以这种方式从源代码构建项目。

最新更新