diff --git a/Aerial/Source/Models/Cache/PoiStringProvider.swift b/Aerial/Source/Models/Cache/PoiStringProvider.swift
index ef349280..752dc474 100644
--- a/Aerial/Source/Models/Cache/PoiStringProvider.swift
+++ b/Aerial/Source/Models/Cache/PoiStringProvider.swift
@@ -160,7 +160,7 @@ final class PoiStringProvider {
}
}
debugLog("Defaulting to bundle")
- let cc = locale.countryCode!.lowercased()
+ let cc = "en" //locale.countryCode!.lowercased()
if preferences.localizeDescriptions {
let path = Bundle(for: PoiStringProvider.self).path(forResource: cc, ofType: "json")
if path != nil {
diff --git a/Aerial/Source/Models/Cache/VideoCache.swift b/Aerial/Source/Models/Cache/VideoCache.swift
index 8443de17..8178136b 100644
--- a/Aerial/Source/Models/Cache/VideoCache.swift
+++ b/Aerial/Source/Models/Cache/VideoCache.swift
@@ -29,53 +29,61 @@ final class VideoCache {
let preferences = Preferences.sharedInstance
if let customCacheDirectory = preferences.customCacheDirectory {
+ // We may have overriden the cache directory
cacheDirectory = customCacheDirectory
} else {
- let cachePaths = NSSearchPathForDirectoriesInDomains(.cachesDirectory,
+ let localCachePaths = NSSearchPathForDirectoriesInDomains(.cachesDirectory,
+ .localDomainMask,
+ true)
+ let userCachePaths = NSSearchPathForDirectoriesInDomains(.cachesDirectory,
.userDomainMask,
true)
- if cachePaths.isEmpty {
+ if localCachePaths.isEmpty || userCachePaths.isEmpty {
errorLog("Couldn't find cache paths!")
return nil
}
- var userCacheDirectory: NSString?
- userCacheDirectory = cachePaths[0] as NSString
-
- if cachePaths.count > 1 {
- // Maybe on some systems we have more than one, if so try to find one that actually exists ?
- for cachePath in cachePaths {
- if FileManager.default.fileExists(atPath: cachePath) {
- debugLog("using this directory")
- userCacheDirectory = cachePath as NSString
- break
+ let localCacheDirectory = localCachePaths[0] as NSString
+ let userCacheDirectory = userCachePaths[0] as NSString
+
+ if aerialCacheExists(at: localCacheDirectory) {
+ debugLog("local cache exists")
+ cacheDirectory = localCacheDirectory.appendingPathComponent("Aerial")
+ } else if aerialCacheExists(at: userCacheDirectory) {
+ debugLog("user cache exists")
+ cacheDirectory = userCacheDirectory.appendingPathComponent("Aerial")
+ } else {
+ debugLog("create local cache")
+ // We create in local cache directory (/Library/Caches)
+ cacheDirectory = localCacheDirectory.appendingPathComponent("Aerial")
+
+ let fileManager = FileManager.default
+ if fileManager.fileExists(atPath: cacheDirectory!) == false {
+ do {
+ try fileManager.createDirectory(atPath: cacheDirectory!,
+ withIntermediateDirectories: false, attributes: nil)
+ } catch let error {
+ errorLog("Couldn't create cache directory: \(error)")
+ return nil
}
}
}
-
- let defaultCacheDirectory = userCacheDirectory!.appendingPathComponent("Aerial")
- cacheDirectory = defaultCacheDirectory
}
- guard let appCacheDirectory = cacheDirectory else {
- return nil
- }
+ // Cache the computed value
+ computedCacheDirectory = cacheDirectory
+ debugLog("cache to be used : \(String(describing: cacheDirectory))")
+ return cacheDirectory
+ }
- let fileManager = FileManager.default
- if fileManager.fileExists(atPath: appCacheDirectory as String) == false {
- do {
- try fileManager.createDirectory(atPath: appCacheDirectory as String,
- withIntermediateDirectories: false, attributes: nil)
- } catch let error {
- errorLog("Couldn't create cache directory: \(error)")
- return nil
- }
+ static func aerialCacheExists(at: NSString) -> Bool {
+ let aerialCache = at.appendingPathComponent("Aerial")
+ if FileManager.default.fileExists(atPath: aerialCache as String) {
+ return true
+ } else {
+ return false
}
-
- // Cache the computed value
- computedCacheDirectory = appCacheDirectory
- return appCacheDirectory
}
static func isAvailableOffline(video: AerialVideo) -> Bool {
diff --git a/Aerial/Source/Models/ManifestLoader.swift b/Aerial/Source/Models/ManifestLoader.swift
index 51bf2148..1ad08c4f 100644
--- a/Aerial/Source/Models/ManifestLoader.swift
+++ b/Aerial/Source/Models/ManifestLoader.swift
@@ -312,6 +312,7 @@ class ManifestLoader {
dateFormatter.locale = Locale.init(identifier: "en_GB")
let dateObj = dateFormatter.date(from: preferences.lastVideoCheck!)
+ debugLog(preferences.lastVideoCheck!)
var dayCheck = 7
if preferences.newVideosMode == Preferences.NewVideosMode.monthly.rawValue {
dayCheck = 30
@@ -324,6 +325,7 @@ class ManifestLoader {
if #available(OSX 10.11, *) {
if !cacheUrl.hasDirectoryPath {
+ // If there's no backup directory, we force the first check
moveOldManifests()
return
}
@@ -333,7 +335,7 @@ class ManifestLoader {
debugLog("Interval : \(String(describing: dateObj?.timeIntervalSinceNow))")
if Int((dateObj?.timeIntervalSinceNow)!) < -dayCheck * 86400 {
- // We need to redownload
+ // We need to redownload then
debugLog("Checking for new videos")
moveOldManifests()
} else {
diff --git a/Resources/Info.plist b/Resources/Info.plist
index 703112eb..74554035 100644
--- a/Resources/Info.plist
+++ b/Resources/Info.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 1.4.6beta5
+ 1.4.6beta6
CFBundleSignature
????
CFBundleVersion
- 1.4.6beta5
+ 1.4.6beta6
LSApplicationCategoryType
LSMinimumSystemVersion