Trying to call this method but url is not getting from bookmark data.
/// Returns an Asset pointing to a file on disk if it exists.
func localAssetForStream(withName name: String) -> Asset? {
let userDefaults = UserDefaults.standard
print("KEY-VALUE 1 ",userDefaults.dictionaryRepresentation())
print("KEYS 2 ",UserDefaults.standard.dictionaryRepresentation().keys)
let val = userDefaults.value(forKey: name) as? Data;
print("Value ",val);
let val1 = userDefaults.value(forKey: name)
print("Value1 ",val1);
guard let localFileLocation = userDefaults.value(forKey: name) as? Data else { return nil }
var asset: Asset?
var bookmarkDataIsStale = false
do {
let url = try URL(resolvingBookmarkData: localFileLocation,
bookmarkDataIsStale: &bookmarkDataIsStale)
if bookmarkDataIsStale {
fatalError("Bookmark data is stale!")
}
let urlAsset = AVURLAsset(url: url)
guard let asse = AssetListManager.sharedManager.assets.first(where: {$0.stream.name == name}) else { return nil }
asset = Asset(stream: asse.stream, urlAsset: urlAsset)
return asset
} catch {
fatalError("Failed to create URL from bookmark with error: \(error)")
}
}
I am expecting it to work just like it is working in swift individual project and return local url for video.