mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-15 17:53:31 +01:00
Updates cached AltStore bundle when app has been updated
This commit is contained in:
@@ -170,31 +170,32 @@ private extension DatabaseManager
|
|||||||
installedApp.storeApp = storeApp
|
installedApp.storeApp = storeApp
|
||||||
}
|
}
|
||||||
|
|
||||||
installedApp.version = localApp.version
|
|
||||||
|
|
||||||
let fileURL = installedApp.fileURL
|
let fileURL = installedApp.fileURL
|
||||||
|
if !FileManager.default.fileExists(atPath: fileURL.path) || installedApp.version != localApp.version
|
||||||
if !FileManager.default.fileExists(atPath: fileURL.path)
|
|
||||||
{
|
{
|
||||||
do
|
FileManager.default.prepareTemporaryURL() { (temporaryFileURL) in
|
||||||
{
|
do
|
||||||
try FileManager.default.copyItem(at: Bundle.main.bundleURL, to: fileURL)
|
{
|
||||||
|
try FileManager.default.copyItem(at: Bundle.main.bundleURL, to: temporaryFileURL)
|
||||||
let infoPlistURL = fileURL.appendingPathComponent("Info.plist")
|
|
||||||
|
let infoPlistURL = temporaryFileURL.appendingPathComponent("Info.plist")
|
||||||
// TODO: Copy to temporary location, modify it, _then_ copy to final destination.
|
|
||||||
guard var infoDictionary = Bundle.main.infoDictionary else { throw ALTError(.missingInfoPlist) }
|
guard var infoDictionary = Bundle.main.infoDictionary else { throw ALTError(.missingInfoPlist) }
|
||||||
infoDictionary[kCFBundleIdentifierKey as String] = StoreApp.altstoreAppID
|
infoDictionary[kCFBundleIdentifierKey as String] = StoreApp.altstoreAppID
|
||||||
try (infoDictionary as NSDictionary).write(to: infoPlistURL)
|
try (infoDictionary as NSDictionary).write(to: infoPlistURL)
|
||||||
}
|
|
||||||
catch
|
try FileManager.default.copyItem(at: temporaryFileURL, to: fileURL, shouldReplace: true)
|
||||||
{
|
}
|
||||||
print("Failed to copy AltStore app bundle to its proper location.", error)
|
catch
|
||||||
|
{
|
||||||
try? FileManager.default.removeItem(at: fileURL)
|
print("Failed to copy AltStore app bundle to its proper location.", error)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must go after comparing versions to see if we need to update our cached AltStore app bundle.
|
||||||
|
installedApp.version = localApp.version
|
||||||
|
|
||||||
if let provisioningProfile = localApp.provisioningProfile
|
if let provisioningProfile = localApp.provisioningProfile
|
||||||
{
|
{
|
||||||
installedApp.refreshedDate = provisioningProfile.creationDate
|
installedApp.refreshedDate = provisioningProfile.creationDate
|
||||||
|
|||||||
Reference in New Issue
Block a user