Узнайте, как использовать мобильную платформу Realm.
Я создал небольшое приложение для iOS, которое успешно сохраняет данные на сервере, и данные согласованы на разных устройствах. Приложение очень похоже на официальное руководство по области.
Я могу открыть URL-адрес синхронизации из Mac-приложения браузера Realm и вижу, что изменения происходят нормально в реальном времени. Вот где я застрял: я пытаюсь увидеть изменения в локальном файле области, но
print(self.realm.configuration.fileURL)
возвращает ноль print(Realm.Configuration.defaultConfiguration.fileURL)
- пустой файл
Это мой код:
SyncUser.logIn(with: cloudKitCredentials, server: serverURL) { 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://myIPaddress/~/realmtasks")!)
)
self.realm = try! Realm(configuration: configuration)
// Show initial tasks
func updateList() {
self.items = Array(self.realm.objects(Row.self))
self.tableView.reloadData()
}
updateList()
print(self.realm.configuration.fileURL)
//returns nil
print(Realm.Configuration.defaultConfiguration.fileURL)
// I can open the file, but it's empty
// Notify us when Realm changes
self.notificationToken = self.realm.addNotificationBlock { _ in
updateList()
}
}
Я тестирую это потому, что могу загружать данные из файла, а не с сервера. Таким образом: (а) вход в систему будет вызываться только один раз (б) данные доступны, когда пользователь находится в автономном режиме.
syncURL
. - person teotwaki   schedule 27.02.2017