@@ -19,7 +19,7 @@ func createIncorrectRiveURL(_ url: String) -> NSError {
1919 domain: RiveErrorDomain, code: 900 ,
2020 userInfo: [
2121 NSLocalizedDescriptionKey: " Unable to download Rive file from: \( url) " ,
22- " name " : " IncorrectRiveFileURL "
22+ " name " : " IncorrectRiveFileURL " ,
2323 ] )
2424}
2525
@@ -45,6 +45,7 @@ final class ReferencedAssetLoader {
4545 onError ( )
4646 return
4747 }
48+
4849 if let fileUrl = URL ( string: url) , fileUrl. scheme == " file " {
4950 do {
5051 let data = try Data ( contentsOf: fileUrl)
@@ -56,26 +57,19 @@ final class ReferencedAssetLoader {
5657 return
5758 }
5859
59- let queue = URLSession . shared
60- guard let requestUrl = URL ( string: url) else {
61- handleInvalidUrlError ( url: url)
62- onError ( )
63- return
64- }
65-
66- let request = URLRequest ( url: requestUrl)
67- let task = queue. dataTask ( with: request) { [ weak self] data, _, error in
68- if error != nil {
69- self ? . handleInvalidUrlError ( url: url)
70- onError ( )
71- } else if let data = data {
72- listener ( data)
73- } else {
74- onError ( )
60+ Task {
61+ do {
62+ let data = try await HTTPLoader . shared. downloadData ( from: url)
63+ await MainActor . run {
64+ listener ( data)
65+ }
66+ } catch {
67+ await MainActor . run {
68+ self . handleInvalidUrlError ( url: url)
69+ onError ( )
70+ }
7571 }
7672 }
77-
78- task. resume ( )
7973 }
8074
8175 private func processAssetBytes(
@@ -249,7 +243,8 @@ final class ReferencedAssetLoader {
249243 factory factoryOut: SendableRef < RiveFactory ? > ,
250244 fileRef: SendableRef < RiveFile ? >
251245 )
252- -> LoadAsset ? {
246+ -> LoadAsset ?
247+ {
253248 guard let referencedAssets = referencedAssets, let referencedAssets = referencedAssets. data
254249 else {
255250 return nil
@@ -263,9 +258,11 @@ final class ReferencedAssetLoader {
263258 cache. value [ asset. uniqueName ( ) ] = asset
264259 factoryOut. value = factory
265260
266- self . loadAssetInternal ( source: assetData, asset: asset, factory: factory, completion: {
267- withExtendedLifetime ( fileRef) { }
268- } )
261+ self . loadAssetInternal (
262+ source: assetData, asset: asset, factory: factory,
263+ completion: {
264+ withExtendedLifetime ( fileRef) { }
265+ } )
269266
270267 return true
271268 }
0 commit comments