Моя проблема:
- У меня есть zip-файл, содержащий обновление прошивки для устройства моей компании
- Я хочу иметь возможность получить к нему доступ с помощьюact-native-fs с кодом ниже
.
export function readAssetFile(name) {
if(Platform.OS === 'ios') {
return RNFS.readFile(`${RNFS.MainBundlePath}/assets/data/${name}`);
} else {
return RNFS.readFileAssets(`raw/${name}`, 'base64');
}
}
Структура моего проекта выглядит так:
ProjectDir
android
data
image1.png
image2.png
firmwarefile.zip
ios
Ветка android работает, потому что я добавил шаг сборки в мой .gradle, чтобы скопировать firmwarefile.zip в ProjectDir / android / app / src / main / assets / raw. Поэтому я могу вызвать readAssetFile ('firmwarefile.zip'), и он возвращает данные.
В iOS все файлы изображений (Image1.png, Image2.png) включены в MyProject.app/assets/data/, и мне ничего не нужно делать, но рядом с ними нет zip-файла.
Рассматривая фактический код упаковщика (из проекта metro ), кажется (основываясь на metro / src / defaults.js), что файлы zip по умолчанию не включены упаковщиком, но Упаковщик может быть настроен на включение файлов других типов. Но я не могу найти любую документацию о том, как я могу выполнить эту настройку.
Извините за то, что похоже на действительно простой вопрос, но я пытался включить этот почтовый индекс в свой пакет в течение ~ 4 часов. Я прибегаю к ручному вводу console.logs и ошибок, чтобы отследить вещи в метро, чтобы попытаться найти, куда мне следует отправлять данные в моей конфигурации.
Версии:
React-native: 0.55.3
Метро: 0.30.2