React-native: Как скопировать файл из папки проекта ios? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть файлы в папке assets, которая создается в Xcode в my_project / assets. Обычно я могу получить доступ к файлу в моем шаблоне WebView с помощью:

source = {uri: 'ICF-Package / ICFPackage / index.html'}

, но я не могу скопировать этот файл в LibraryDirectoryPathс response-native-fs:

RNFS.copyFile ('. ICF-Package / ICFPackage / index.html', RNFS.LibraryaDirectory + '/index.html').then((result) => консоль.log ('DONE')). catch ((error) => console.log (error, 'ERROR'));

Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 24 октября 2019

копия файла находится в файлах активов ios. но вы передаете sourcePath методу относительно собственного пути реакции. это означает, что та же папка, что и компонент, который требует его.
в одну сторону, вы перемещаете файл в собственную папку, а затем используете егоЭто также имеет преимущество, для android, оно также работает.
иначе вы помещаете файл для разных платформ в разные файлы. Для андроида, поместите это в активы, для ios поместите это в RNFS.MainBundlePath. Назначение ресурса и main.jsbundle должны находиться в одной папке, RNFS.MainBundlePath - это путь main.jsbundle.

//for android
if(Platform.OS == "android"){
RNFS.copyFileAssets("file path under the assets",destPath)
} else {
//for ios
RNFS.copyFile(RNFS.MainBundlePath + "the path under ios assets",destPath)
...