React-Native Offline Bundle - изображения, не показывающие

У меня есть приложение React-Native, которое я пытаюсь развернуть в режиме выпуска на свой телефон. Я могу связать приложение с телефоном. База данных, видео и аудио активы находятся там, но изображения не отображаются в пользовательском интерфейсе.

Я сделал следующее, чтобы "связать" мое приложение:

  • в папке проекта в терминальном запуске react-native bundle --platfrom ios --dev false --entry-file index.ios.js --bundle-output main.jsbundle
  • Перетащите ссылку на файл main.jsbundle в XCode в папке myapp
  • В XCode откройте AppDelegate.m и раскомментируйте jsCodeLocation = [[NSBundle mainBundle]…
  • Откройте Product > Scheme > Edit Scheme, затем измените Build Configuration на Release
  • Выберите myapp в навигаторе проекта, а затем: под TARGETS: myappTests > Build Phases > Link Binary With Libraries нажмите + выберите Workspace > libReact.a и Add

Когда я пытаюсь скомпилировать в XCode с параметром ../node_modules/react-native/packager/react-native-xcode.sh в myapp > targets > myapp > Bundle React Native code and images, он не работает с error code 1.

Я видел LOADS сообщений об этом, и я пробовал:

  • чтобы проверить Run script only when installing - приложение затем устанавливает, но без изображений
  • добавление source ~/.bash_profile в реакцию-native-xcode.sh - сбой сборки приложения

Любая помощь будет принята с благодарностью!

Ответ 1

- это изображения в xcode или в файловой системе?, я не вижу --assets-dest в ваших параметрах пакета

react-native bundle  --minify --dev false --assets-dest ./ios --entry-file index.ios.js --platform ios --bundle-output ios/main.jsbundle

также добавьте папку с ресурсами в xcode, например, в пакет.

обратите внимание, что объекты изображения копируются только в том случае, если они требуются правильно, см. документацию

Ответ 2

Когда вы создаете пакет, также поместите --assets-dest./

"response-native bundle --platform ios --assets-dest./--dev false --entry-file index.ios.js --bundle-output iOS/main.jsbundle"

Он будет генерировать папку main.jsbundle и Assets. Перейдите в свой Xcode правой кнопкой мыши, добавьте файлы в проект и добавьте файл main.jsbundle в проект. Также перетащите папку "Активы" и выберите "Создать по ссылке" (примечание: не выбирайте группу "Создать" ).

i использовал реакцию 0,33, main.jsbundle использует папку ресурсов (небольшая a), но генерирует активы (Caps A). Я просто сменил сгенерированную папку с Assets на активы и импортировал ее в xcode и начал работать