Created
March 31, 2019 18:22
-
-
Save diskball/9ec9882d21f6e3e06e70d13b57078f82 to your computer and use it in GitHub Desktop.
Updated RealmLogger.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // 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