Please provide the following:
- SDK Version: 40.0.1
- Platforms: Android/iOS
Hi,
With my last upgrade from SDK37 to SDK40, I’m now getting the bellow errors when calling FileSystem.downloadAsync with same code base.
Use case is to cache images locally and re-display them later.
Any idea what might be happening here? Are file
paths not supported anymore?
iOS Error:
Unable to download file: Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo={NSErrorFailingURLStringKey=file:///var/mobile/Containers/Data/Application/someGUID/Library/Caches/ExponentExperienceData/%2540myCompany%252FMyApp/ExponentAsset-390a0721d16c652a3e1ef09d67b8d189.png, NSErrorFailingURLKey=file:///var/mobile/Containers/Data/Application/someGUID/Library/Caches/ExponentExperienceData/%2540myCompany%252FMyApp/ExponentAsset-390a0721d16c652a3e1ef09d67b8d189.png, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"BackgroundDownloadTask <C5381452-F0F0-4AF5-A74C-550C18926BCF>.<181>"
), _NSURLErrorFailingURLSessionTaskErrorKey=BackgroundDownloadTask <C5381452-F0F0-4AF5-A74C-550C18926BCF>.<181>, NSLocalizedDescription=unsupported URL}
Stack trace:
node_modules\react-native\Libraries\BatchedBridge\NativeModules.js:103:50 in promiseMethodWrapper
node_modules\@unimodules\react-native-adapter\build\NativeModulesProxy.native.js:15:23 in moduleName.methodInfo.name
node_modules\expo-file-system\build\FileSystem.js:105:17 in downloadAsync
node_modules\regenerator-runtime\runtime.js:45:36 in tryCatch
node_modules\regenerator-runtime\runtime.js:274:29 in invoke
node_modules\regenerator-runtime\runtime.js:45:36 in tryCatch
node_modules\regenerator-runtime\runtime.js:135:27 in invoke
node_modules\regenerator-runtime\runtime.js:170:16 in PromiseImpl$argument_0
node_modules\react-native\node_modules\promise\setimmediate\core.js:45:6 in tryCallTwo
node_modules\react-native\node_modules\promise\setimmediate\core.js:200:22 in doResolve
node_modules\react-native\node_modules\promise\setimmediate\core.js:66:11 in Promise
node_modules\regenerator-runtime\runtime.js:169:15 in callInvokeWithMethodAndArg
node_modules\regenerator-runtime\runtime.js:192:38 in enqueue
node_modules\regenerator-runtime\runtime.js:219:8 in exports.async
node_modules\expo-file-system\build\FileSystem.js:101:7 in downloadAsync
node_modules\react-native-sectioned-multi-select\lib\sectioned-multi-select.js:100:2 in <global>
node_modules\regenerator-runtime\runtime.js:45:36 in tryCatch
node_modules\regenerator-runtime\runtime.js:274:29 in invoke
node_modules\regenerator-runtime\runtime.js:45:36 in tryCatch
node_modules\regenerator-runtime\runtime.js:135:27 in invoke
node_modules\regenerator-runtime\runtime.js:145:18 in PromiseImpl.resolve.then$argument_0
node_modules\react-native\node_modules\promise\setimmediate\core.js:37:13 in tryCallOne
node_modules\react-native\node_modules\promise\setimmediate\core.js:123:24 in setImmediate$argument_0
node_modules\react-native\Libraries\Core\Timers\JSTimers.js:130:14 in _callTimer
node_modules\react-native\Libraries\Core\Timers\JSTimers.js:181:14 in _callImmediatesPass
node_modules\react-native\Libraries\Core\Timers\JSTimers.js:441:30 in callImmediates
node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:387:6 in __callImmediates
node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:135:6 in __guard$argument_0
node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:364:10 in __guard
node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:134:4 in flushedQueue
[native code]:null in flushedQueue
[native code]:null in invokeCallbackAndReturnFlushedQueue
...
Android Error:
Expected URL scheme 'http' or 'https' but was 'file'