Пакет JS для производства iOS для реагирования

При тестировании своего приложения для Android у меня была возможность загружать пакеты между пакетами разработки и производства.

Кто-нибудь знает, можно ли сделать то же самое для IOS? Я изменил схему сборки в Xcode для выпуска, но он все еще загружает пакет разработки.

Кто-нибудь знает, как это сделать?

Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
2
0
4 522
1

Ответы 1

Для загрузки правильного файла вам действительно нужно отредактировать файл AppDelegate.M в Xcode. Код, который находится здесь, проверит, являются ли настройки сборки отладочными (поэтому он загружает сетевой файл) или выпускает (загружает локальный пакет)

#ifdef DEBUG
    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif

Прежде чем вы сможете установить jsCodeLocation, вам необходимо сгенерировать правильный файл. Вы можете сделать это с помощью следующей команды:

node node_modules/react-native/local-cli/cli.js bundle --entry-file='index.ios.js' --bundle-output='./ios/YourApp/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'

Это поместит main.jsbundle в папку ios (которая, как я полагаю, находится в корне вашего собственного проекта реакции)

После того, как вы выполнили описанные выше шаги, вы можете создать и развернуть приложение и опробовать его :)

отметка

Привет, Марк, я сделал это - он все еще загружает пакет разработки. Если я закомментирую #ifdef DEBUG, я получаю следующую ошибку: Нет URL-адреса пакета

Pete Nice 29.05.2018 17:12

Здравствуйте, убедитесь, что вы загружаете правильный файл, имя в URLForResource в AppDelegate.m должно совпадать с именем вашего файла --bundle-output.

Mark D 30.05.2018 10:00

Должен ли вы при запуске react-native run-ios --configuration Release автоматически создавать файл main.jsbundle в правильном месте, чтобы вы могли использовать изменения в AppDelegate.M? Мой main.jsbundle не обновлялся какое-то время, хотя я запускал --configuration Release несколько раз.

Marklar 16.11.2018 06:06

Чтобы расширить вышесказанное, в документации указано This will now reference the main.jsbundle resource file that is created during the Bundle React Native code and images Build Phase in Xcode, поэтому, если мой файл main.jsbundle не обновляется, я предполагаю, что на этапе сборки возникла проблема?

Marklar 16.11.2018 06:08

Другие вопросы по теме