Realm iOS Tutorial,从头开始构建iOS应用程序,写入失败

时间:2017-10-26 13:42:05

标签: ios swift xcode realm

我已经从头开始关注“构建iOS”应用程序'领域网站上的教程一步一步地观看了视频。一切似乎都井然有序。不幸的是,该教程不包含完整的源代码供参考。

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

当我运行项目时,它连接到ROS并创建领域而没有问题。我可以在领域浏览器和Web浏览器中看到这一点。

然而,它立即开始抛出错误(在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()
}

1 个答案:

答案 0 :(得分:0)

为混乱道歉;我们会尽快更新我们的教程。

Realm Cocoa 3. *需要使用ROS 2.0,它通过NPM安装(说明here)。来自我们网站上的zip文件的Realm Object Server版本是ROS 1.0,与Realm Cocoa 3不兼容。*。

如果您希望查看演示项目的完整源代码,可以查看其repository on GitHub。您可以克隆该存储库,安装其CocoaPods,打开Xcode工作区,并从源代码构建项目。