mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-19 11:43:24 +01:00
Moves database + cached apps to app group so they can be accessed by extensions
This commit is contained in:
@@ -11,6 +11,19 @@ import CoreData
|
|||||||
import AltSign
|
import AltSign
|
||||||
import Roxas
|
import Roxas
|
||||||
|
|
||||||
|
private class PersistentContainer: RSTPersistentContainer
|
||||||
|
{
|
||||||
|
override class func defaultDirectoryURL() -> URL
|
||||||
|
{
|
||||||
|
guard let sharedDirectoryURL = FileManager.default.altstoreSharedDirectory else { return super.defaultDirectoryURL() }
|
||||||
|
|
||||||
|
let databaseDirectoryURL = sharedDirectoryURL.appendingPathComponent("Database")
|
||||||
|
try? FileManager.default.createDirectory(at: databaseDirectoryURL, withIntermediateDirectories: true, attributes: nil)
|
||||||
|
|
||||||
|
return databaseDirectoryURL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class DatabaseManager
|
public class DatabaseManager
|
||||||
{
|
{
|
||||||
public static let shared = DatabaseManager()
|
public static let shared = DatabaseManager()
|
||||||
@@ -24,7 +37,7 @@ public class DatabaseManager
|
|||||||
|
|
||||||
private init()
|
private init()
|
||||||
{
|
{
|
||||||
self.persistentContainer = RSTPersistentContainer(name: "AltStore", bundle: Bundle(for: DatabaseManager.self))
|
self.persistentContainer = PersistentContainer(name: "AltStore", bundle: Bundle(for: DatabaseManager.self))
|
||||||
self.persistentContainer.preferredMergePolicy = MergePolicy()
|
self.persistentContainer.preferredMergePolicy = MergePolicy()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -219,7 +219,8 @@ public extension InstalledApp
|
|||||||
public extension InstalledApp
|
public extension InstalledApp
|
||||||
{
|
{
|
||||||
class var appsDirectoryURL: URL {
|
class var appsDirectoryURL: URL {
|
||||||
let appsDirectoryURL = FileManager.default.applicationSupportDirectory.appendingPathComponent("Apps")
|
let baseDirectory = FileManager.default.altstoreSharedDirectory ?? FileManager.default.applicationSupportDirectory
|
||||||
|
let appsDirectoryURL = baseDirectory.appendingPathComponent("Apps")
|
||||||
|
|
||||||
do { try FileManager.default.createDirectory(at: appsDirectoryURL, withIntermediateDirectories: true, attributes: nil) }
|
do { try FileManager.default.createDirectory(at: appsDirectoryURL, withIntermediateDirectories: true, attributes: nil) }
|
||||||
catch { print(error) }
|
catch { print(error) }
|
||||||
|
|||||||
Reference in New Issue
Block a user