Skip to content

Instantly share code, notes, and snippets.

@diskball
Created March 31, 2019 18:22
Show Gist options
  • Select an option

  • Save diskball/9ec9882d21f6e3e06e70d13b57078f82 to your computer and use it in GitHub Desktop.

Select an option

Save diskball/9ec9882d21f6e3e06e70d13b57078f82 to your computer and use it in GitHub Desktop.
Updated RealmLogger.swift
//
// RealmLogger.swift
// Realm Logger
//
// Created by George Bafaloukas on 12/09/2018.
// Copyright © 2018 George Bafaloukas. All rights reserved.
//
import UIKit
import RealmSwift
class RealmLogger: NSObject {
static let MY_INSTANCE_ADDRESS = "{PROJECT_NAME}.de1a.cloud.realm.io" // <- update this
static let AUTH_URL = URL(string: "https://\(MY_INSTANCE_ADDRESS)")!
static let REALM_URL = URL(string: "realms://\(MY_INSTANCE_ADDRESS)/ToDo")!
let realmName: String
var realm: Realm?
init(name: String) {
self.realmName = name
super.init()
}
func createRealm(completion: @escaping (_ success: Bool) -> Void) {
let creds = SyncCredentials.nickname(self.realmName, isAdmin: true)
SyncUser.logIn(with: creds, server: RealmLogger.AUTH_URL) { (user, error) in
var success = false
if error == nil {
print("Realm user log in successful")
if let config = SyncUser.current?.configuration(realmURL: RealmLogger.REALM_URL, fullSynchronization: true) {
self.realm = try? Realm(configuration: config)
success = true
}
}
completion(success)
}
}
func log(_ message: String) {
print(message)
guard let realm = self.realm else {
print("Realm is not initialised")
return
}
let realmLog = RealmLog()
realmLog.message = message
try! realm.write {
realm.add(realmLog)
}
}
}
class RealmLog: Object {
@objc dynamic var message = ""
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment