#ios #xcode #react-native
#iOS #xcode #react-native
Вопрос:
Я создаю приложение react native, в котором я использую react-native-config для создания разных версий. Я получаю эту ошибку при попытке заархивировать проект. Кто-нибудь может мне помочь с этим?
Ответ №1:
Добавьте приведенный ниже post_install
скрипт в свой podfile
post_install do |installer|
installer.pods_project.targets.each do |target|
targets_to_ignore = %w(React)
if targets_to_ignore.include? target.name
target.remove_from_project
end
if target.name == 'react-native-config'
phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
phase.shell_script = "cd ../../"
" amp;amp; RNC_ROOT=./node_modules/react-native-config/"
" amp;amp; export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"
" amp;amp; export BUILD_DIR=$RNC_ROOT/ios/ReactNativeConfig"
" amp;amp; ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"
target.build_phases << phase
target.build_phases.move(phase,0)
end
end
end
Пожалуйста, обратитесь к этой проблеме на GitHub
Комментарии:
1. github.com/luggit/react-native-config/issues/… похоже на ваш ответ, за исключением небольших изменений в команде, которые решают мою проблему.
Ответ №2:
Я поместил pod 'react-native-config', :path => '../node_modules/react-native-config'
внутрь Podfile
...
target 'app' do
...
pod 'react-native-config', :path => '../node_modules/react-native-config'
...
end
И это работает для меня.
Мои версии:
"react": "18.1.0"
"react-native": "0.70.4",
"react-native-config": "1.4.4"
Я понизил рейтинг react-native-config
с 1.4.11
на 1.4.4
Ответ №3:
Перейдите по этой ссылке, и вы сможете это исправить.
или я рекомендую применить этот метод.
Используется RN 0.53.0.
В основном процесс заключается в:
-
добавьте ../node_modules/react-native-config/ios/ReactNativeConfig.xcodeproj в свой собственный проект
-
В ваших целевых настройках, этапах сборки, свяжите двоичный файл с библиотеками, добавьте libReactNativeConfig.a.
-
Управляйте схемой, разверните «Сборка», нажмите «Предварительные действия», «Новое действие запуска скрипта», введите:
если [ «${ENVFILE}» ]; тогда echo «${ENVFILE}» > /tmp/envfile ; иначе echo «.env» > /tmp/envfile; fi
-
Убедитесь, что в вашем файле .env.prod есть некоторые ключи / значения без пробелов вокруг =, как я видел в этих потоках. Затем запустите в term: $ ENVFILE=.env.prod react-собственный запуск-ios.
Пожалуйста, обратитесь к этой ссылке для получения более подробной информации.