Каждый, кто работал или работает над React Native, не может отрицать, что установка, разработка и распространение iOS намного сложнее, чем Android.
Ситуация как бы меняется к худшему с новой архитектурой процессора, а именно M1, которую Apple выпустила год или два назад. Нельзя отрицать, что M1 — это чудо техники, и мы не ожидаем от Apple ничего меньшего; но вы, конечно, хотите выкрикнуть пару слов вслух в адрес архитектуры, которая просто отказывается выполнять пару базовых команд, которые раньше работали как по маслу.
Наиболее распространенной проблемой, возникающей с новой архитектурой, является очень простая команда, которую мы выполняем:
Вы можете ожидать, что все pods будут установлены без каких-либо заминок, но pods, которые вызывают проблемы при установке, являются:
boost
glog
Давайте разберемся с этими проблемами по порядку.
- BOOST
Установка капсул для boost приводит к ошибке, похожей на =>
Вкратце, ошибка гласит, что не удалось разместить авторизованный запрос на jfrog.io
и происходит сбой с неавторизованным запросом 401. Решение этой проблемы не может быть проще. Просто выполните следующую команду, и все готово:
cd ios && rm -rf Pods && rm -rf Podfile.lock && rm -rf build && pod deintegrate && cd ..
После этого pod install перейдет к установке boost, а затем зависнет на glog
.
PS: Вы можете столкнуться со многими решениями, которые попросят вас установить ffi gem и выполнить команду типа
sudo arch -x86_64 gem install ffi
.
Вы можете попробовать, но это определенно не сработает (по крайней мере, у нас это произошло с сообщением, что указанная архитектура недопустима), поэтому нет абсолютных гарантий, что это точно сработает.
- GLOG
Установка бода для glog в большинстве случаев завершается с ошибкой, которая выглядит примерно так:
И снова решение довольно простое. Однако на этот раз вместо одной команды мы хотим выполнить 2 команды:
sudo xcode-select --switch /Applications/Xcode.app
cd ios && pod install
.
Надеюсь, эта статья окажется полезной для вас 😀
Если вы столкнулись с какими-либо другими проблемами или вышеупомянутые решения не помогли вам, не стесняйтесь написать об этом в комментариях, чтобы мы могли принять меры.