0

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)")
        }
    }

enter image description here

I am expecting it to work just like it is working in swift individual project and return local url for video.

  • I am able to find a solution for this issue by updating optimization level. https://stackoverflow.com/questions/32772573/project-name-was-compiled-with-optimization-stepping-may-behave-oddly-varia – rahulnainwal107 May 30 '23 at 07:02

0 Answers0