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





Для загрузки правильного файла вам действительно нужно отредактировать файл 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 (которая, как я полагаю, находится в корне вашего собственного проекта реакции)
После того, как вы выполнили описанные выше шаги, вы можете создать и развернуть приложение и опробовать его :)
отметка
Здравствуйте, убедитесь, что вы загружаете правильный файл, имя в URLForResource в AppDelegate.m должно совпадать с именем вашего файла --bundle-output.
Должен ли вы при запуске react-native run-ios --configuration Release автоматически создавать файл main.jsbundle в правильном месте, чтобы вы могли использовать изменения в AppDelegate.M? Мой main.jsbundle не обновлялся какое-то время, хотя я запускал --configuration Release несколько раз.
Чтобы расширить вышесказанное, в документации указано 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 не обновляется, я предполагаю, что на этапе сборки возникла проблема?
Привет, Марк, я сделал это - он все еще загружает пакет разработки. Если я закомментирую #ifdef DEBUG, я получаю следующую ошибку: Нет URL-адреса пакета