Я попытался построить на XCode, но возникла ошибка ld: library not found for -lDoubleConversion. Я мог собрать react-native run-ios. Это сработало бы, но XCode не смог построить ...
ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/DoubleConversion' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Folly' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GTMOAuth2' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GTMSessionFetcher' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Google-Maps-iOS-Utils' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Protobuf' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/React' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/glog' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/leveldb-library' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/nanopb' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-google-maps' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-maps' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga' ld: library not found for -lDoubleConversion clang: error: linker command failed with exit code 1 (use -v to see invocation)





XCode не может найти библиотеку lDoubleConversion, вам нужно добавить библиотеку в файл какао-стручков.
вы можете легко сделать это, выполнив следующие действия
1. Добавьте файл библиотеки в свой подфайл.
pod 'DoubleConversion', :podspec => './../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
2. удалить Podfile.lock
3. запустить установку модуля
4. Добавьте DoubleConversion.a в связанные с xcode фреймворки и библиотеки.
5. Очистите проект и постройте заново.
Это должно сработать.
не уверен насчет DoubleConversion.a, но DoubleConversion lib находится в node_modules / response-native / стороннем
У меня была эта проблема немного назад после обновления до RN 0.59.
Решение, которое сработало для меня, заключалось в том, чтобы удалить папку ios/build, а затем сделать следующее:
cd ios
pod install
Когда я это сделал, я увидел ошибку Folly, и люди рекомендовали это сделать:
pod deintegrate
pod install
Я сделал это, но он все равно будет выдавать ошибку о Folly, поэтому я удалил Podfile.lock, потому что в модулях хранится старая версия Folly, несовместимая с RN 0.59.
ПРИМЕЧАНИЕ. Я нашел сообщение от кого-то, в котором говорится, что удаление всего файла блокировки не рекомендуется. Вместо этого вы должны удалить только соответствующие строки в файле блокировки, те строки, которые относятся к Folly. Я уже удалил файл блокировки, но все обошлось.
Я запустил pod update, который обновил кучу вещей и успешно завершился.
В следующий раз, когда я запустил pod install, он выдал хороший список «зеленых», успешных установок.
Затем я снова сделал 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 Code:
react-native run-ios
ЭТО СРАБОТАЛО !!!!!!!!
Затем я побежал:
react-native run-android
это сработало, но застряло на 0% на устройстве симулятора, поэтому я удалил APK с симулятора и снова запустил react-native run-android.
ЭТО СРАБОТАЛО !!!!!!!!
Любите энтузиазм
он перестал работать после того, как я добавил еще один пакет и сделал npm i
Для меня я решил просто открыть MyAppName.xcworkspace вместо MyAppName.xcodeproj, а затем собрать.
Для меня тоже ... но почему?
Вау, большое спасибо, что решил мою проблему. Но было бы лучше, если бы вы пролили свет на это исправление.
Что касается того, почему это, вероятно, потому, что вы используете cocoapods, а модули включены только в рабочую область, поэтому не собираются при сборке из xcodeproj.
Для тех, кто плохо знаком с React Native, как и я, вы можете найти . xcworkspace в [имя_проекта] / ios /.xcworkspace - откройте это в Xcode вместо * .xcodeproj (я потратил полчаса, запутавшись в xcworkspace против xcodeproj)
это очень странно ... у меня был проект сохранения ios в xcode, и он всегда работает нормально ... но теперь мне пришлось удалить этот проект и добавить его снова, и он начал работать ... в любом случае спасибо
Спасибо!!! Это исправило это.
Это должен быть отмечен правильный ответ @Shun Yamada
Иногда это так же просто, как 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 и запустите приложение.
Надеюсь, это кому-то поможет :)
@RocBoronat Конечно, это означает просто удалить этот файл. Опция '-r' не нужна, поскольку это просто файл, а не папка; вам может потребоваться '-f' в зависимости от прав доступа к файлу и вашего пользователя в системе.
Ой, я понимаю. Но вы написали pod rm Podfile.lock. Может, кто-то из-за этого заблудился.
Моя проблема заключалась в том, что я перешел на React Native 0.60 с cocoapods, и я забыл обновить свой процесс сборки Fastlane для сборки с использованием .xcworkspace вместо файла .xcproj.
Я сузил круг вопросов, заметив, что могу создавать и архивировать сборку с помощью Xcode, но моя сборка Fastlane не удалась. Новичек.
Это случилось со мной при создании проекта на терминале, а не на XCode, и это произошло как на CI, так и на моем ноутбуке.
Это происходит потому, что вы собираете проект app.xcodeproj вместо рабочего пространства app.xcworkspace.
Итак, вам нужно изменить параметр в вашем вызове с -project app.xcodeproj на -workspace app.xcworkspace. Обратите внимание, что меняется не только значение, но и имя параметра.
А теперь полный пример звонка.
Из:
xcodebuild -sdk iphoneos -configuration yourconfig -project app.xcodeproj -scheme yourscheme build -UseModernBuildSystem=YES CODE_SIGN_STYLE=Automatic
К:
xcodebuild -sdk iphoneos -configuration yourconfig -workspace app.xcworkspace -scheme yourscheme build -UseModernBuildSystem=YES CODE_SIGN_STYLE=Automatic
Я просто обновляю цель развертывания до 11.4 с 10, и она сработала
Для меня:
Измените цель развертывания на 11.0, Также измените цель развертывания AppNameTEST на 11.0
rm -rf node_modules
npm install
pod update
pod install
используйте platform: ios, '10 .0 'вместо platform: ios, '11 .0' в Podfile.
Все остальное я пробовал часами, то, что работало, было установлено в моем подфиле:
platform :ios, '10.0'
То же, что и iOS Deployment Target Version в Info.plist. Они были разные.
После 3 дней своих усилий я нашел следующие решения.
Для меня вариант 3 сработал.
Я немного новичок в процессе сборки iOS, и я поделюсь своим решением, чтобы, надеюсь, избавить кого-либо от часов разочарования.
В моем случае это была просто устаревшая / плохая сборка. Убедитесь, что вы открыли правильную папку Xcode в Xcode <YOUR_APP>.xcworkspace, в верхнем меню Xcode выберите Product -> Clean Build Folder
Где я могу найти DoubleConversion.a, чтобы добавить его?