it-roy-ru.com

React-Native Offline Bundle - Изображения не отображаются

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

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

  1. в папке проекта в Терминале запустите react-native bundle --platfrom ios --dev false --entry-file index.ios.js --bundle-output main.jsbundle
  2. Перетащите ссылку на файл main.jsbundle в XCode в папке myapp
  3. В XCode откройте AppDelegate.m и раскомментируйте jsCodeLocation = [[NSBundle mainBundle]…
  4. Откройте Product > Scheme > Edit Scheme, затем измените Build Configuration на Release
  5. Выберите 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.

Я видел НАГРУЗКИ сообщений на этом, и я попробовал:

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

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

12
scgough

Когда вы генерируете пакет, также ставьте --assets-dest ./

"Пакет реагирующих пакетов --platform ios --assets-dest ./ --dev false - входной файл index.ios.js --bundle-output iOS/main.jsbundle"

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

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

17
Dinesh Sharma

изображения находятся в 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 как пакет.

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

12
papacostas

Запустите эту команду в корневом каталоге проекта Rn:

native-bundle -entry-file = './index.js' --bundle-output = './main.jsbundle' --dev = false --platform = 'ios' --assets-dest = './Иос

И добавьте ссылку на папку в ваш проект в XCode.

0
matt