diff --git a/Source/Database/ObjectManager.swift b/Source/Database/ObjectManager.swift index 64d51da..45d5a75 100644 --- a/Source/Database/ObjectManager.swift +++ b/Source/Database/ObjectManager.swift @@ -9,7 +9,7 @@ import Foundation import RealmSwift public class ObjectManager { - let realm = try! Realm() + let realm = try! Realm(configuration: TPStreamsSDK.realmConfig) func add(object: T) { try! realm.write { diff --git a/Source/TPStreamsSDK.swift b/Source/TPStreamsSDK.swift index 650b7be..8760ad1 100644 --- a/Source/TPStreamsSDK.swift +++ b/Source/TPStreamsSDK.swift @@ -37,6 +37,7 @@ import RealmSwift public class TPStreamsSDK { + internal static let realmConfig: Realm.Configuration = buildRealmConfig() internal static var orgCode: String? internal static var provider: Provider = .tpstreams internal static var authToken: String? @@ -86,7 +87,7 @@ public class TPStreamsSDK { } } - private static func initializeDatabase() { + private static func buildRealmConfig() -> Realm.Configuration { var config = Realm.Configuration( schemaVersion: 5, migrationBlock: { migration, oldSchemaVersion in @@ -94,12 +95,18 @@ public class TPStreamsSDK { // No manual migration needed. // Realm automatically handles newly added optional properties. } - } + }, + objectTypes: [LocalOfflineAsset.self] ) - config.fileURL!.deleteLastPathComponent() - config.fileURL!.appendPathComponent("TPStreamsPlayerSDK") - config.fileURL!.appendPathExtension("realm") - Realm.Configuration.defaultConfiguration = config + config.fileURL = config.fileURL? + .deletingLastPathComponent() + .appendingPathComponent("TPStreamsPlayerSDK") + .appendingPathExtension("realm") + return config + } + + private static func initializeDatabase() { + _ = Self.realmConfig } private static func removeIncompleteDownloads() {