Ответ 1
Для меня я решил просто открыть MyAppName.xcworkspace
вместо MyAppName.xcodeproj
, а затем построить.
Я попытался построить XCode, но ld: library not found for -lDoubleConversion
ошибки. Я мог бы создать react-native run-ios
. Это сработает, но XCode не смог построить...
ld: warning: каталог не найден для опции '-L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/DoubleConversion' ld: warning: каталог не найден для опции '[CN01 ]/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Folly 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GTMOAuth2 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GTMSessionFetcher 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Google-Maps-iOS-Utils 'ld: warning: каталог не найден для опции '-L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac' ld: warning: каталог не найден для опции -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Protobuf 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/React 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug -iphonesimulator/glog 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/leveldb -L ibrary 'ld: warning: каталог не найден для опции '-L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/nanopb' ld: warning: каталог не найден для опции '-L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/response-native-google-maps 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/ххххх/B uild/Продукты/Debug-iphonesimulator/react-native-maps 'ld: warning: каталог не найден для опции' -L/Пользователи /xxxxx/Library/Разработчик /Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga 'ld: библиотека не найдена для -lDoubleConversion clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов)
Для меня я решил просто открыть MyAppName.xcworkspace
вместо MyAppName.xcodeproj
, а затем построить.
У меня была эта проблема немного назад после обновления до RN 0,59.
Решение, которое работало для меня, состояло в том, чтобы удалить папку ios/build
, а затем сделать это:
cd ios
pod install
Когда я сделал это, я увидел ошибку о Folly
, и люди рекомендовали сделать это:
pod deintegrate
pod install
Я сделал это, но он все равно выдаст ошибку о Folly
, поэтому я удалил Podfile.lock
потому что pods держал старую версию Folly, которая была несовместима с RN 0.59.
ПРИМЕЧАНИЕ. Я нашел сообщение, в котором говорится, что удаление файла блокировки не рекомендуется. Вместо этого вы должны удалить только соответствующие строки в файле блокировки, те строки, которые относятся к Folly. Я уже удалил файл блокировки, но все получилось нормально.
Я запустил pod update
которое обновило кучу вещей и успешно завершилось.
В следующий раз, когда я запустил pod install
, он выдал хороший список успешных установок.
Затем я снова react-native run-ios
, и это сработало впервые за react-native run-ios
время, за исключением того, что он вызвал красный экран смерти.
Поэтому я удалил свое приложение с симулятора iOS и запустил:
rm -rf node_modules
npm install
killall -9 node
Узел killall -9 node
предназначен только для уничтожения Metro Bundler. Это моя любимая команда для этого. Если вы работаете как двенадцать API-интерфейсов node.js на своем компьютере, возможно, вместо этого сделайте что-то вроде sudo lsof -i :8081
и найдите идентификатор процесса для Metro Bundler (ов) и уничтожьте их с помощью PID. Например, если вы видите, что Metro Bundler работает как PID 27322, тогда kill -9 27322
.
Затем я запустил это в автономном терминале:
npm start -- --reset-cache
вернемся в код VS интегрированный терминал:
react-native run-ios
ЭТО СРАБОТАЛО !!!!!!!!
Затем я побежал:
react-native run-android
это сработало, но застряло на 0% на симуляторе, поэтому я удалил APK с симулятора и снова запустил react-native run-android
.
ЭТО СРАБОТАЛО !!!!!!!!
XCode не может найти библиотеку lDoubleConversion, вам нужно добавить библиотеку в файл cocoa-контейнеров.
вы можете сделать это легко, выполнив следующие шаги
1. Добавить файл библиотеки в ваш подканал
pod 'DoubleConversion', :podspec => './../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
2.Удалить файл Podfile.lock
3.Run pod install
4. Добавьте DoubleConversion.a в xcode Связанные структуры и библиотеки
5. Очистите проект и снова создайте его.
Это должно сработать.
Вы знаете, что весело? Тот факт, что половину времени, когда вы получаете эту ошибку, вы можете буквально полностью убить XCode и повторно открыть его, и проблема исчезнет, а иногда и не исчезнет... Я полностью убежден, что это связано с проблемой с DerivedData больше чем что либо.
Иногда это просто pod install
внутри /ios
затем закрыть xcode, снова открыть и перестроить. Работал на меня.
У меня сработали следующие шаги:
Удалить use_frameworks! из ios/Podfile.
target 'AwesomeProject' do
# use_frameworks!
...
end
Добавить модуль DoubleConversion в ios/Podfile
target 'AwesomeProject' do
# use_frameworks!
...
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
end
Очистить капсулы.
pod deintegrate
pod rm Podfile.lock
Переустановите модули
pod install --repo-update --verbose
Откройте AwesomeProject.xcworkspace и запустите свое приложение.
Надеюсь, это поможет кому-то :)
Моя проблема заключалась в том, что я перешел на React Native 0.60 с cocoapods и не стал обновлять процесс сборки Fastlane для сборки с использованием .xcworkspace
вместо файла .xcproj
.
Я сузил это, наблюдая, что я могу собрать и Архивировать сборку, используя Xcode, но моя сборка Fastlane не удалась. Нуб.