Я пытаюсь следовать инструкциям здесь (для iOS) для настройки нескольких сред для моего проекта React Native. Идея состоит в том, что я могу использовать Build Phases для копирования любого plist в GoogleService-Info.plist, чтобы можно было использовать разные среды Firebase для разных схем Xcode.
Я сделал пользовательскую настройку сборки для каждой из моих 4 конфигураций Xcode под названием GOOGLE_SERVICE_PLIST_SUFFIX
, и у меня есть фаза сборки (она первая запускается перед React native Copies и объединяет необходимые ресурсы. ) со следующим кодом:
cp -r "GoogleService-Info"$GOOGLE_SERVICE_PLIST_SUFFIX".plist" "GoogleService-Info.plist" &
wait $!
echo "${GOOGLE_SERVICE_PLIST_SUFFIX} Firebase plist copied"
Я могу сказать, что копирование действительно прошло успешно, но по какой-то причине сборка завершается с ошибкой:
The following build commands failed:
CopyPlistFile /Users/andersonaddo/myappname/ios/build/biteup/Build/Products/Prod.Debug-iphonesimulator/Myappname.app/GoogleService-Info.plist /Users/andersonaddo/myappname/ios/GoogleService-Info.plist
(1 failure)
Глядя на трассировку ошибки , эта ошибка объясняется немного дальше:
CopyPlistFile /Users/andersonaddo/myappname/ios/build/myappname/Build/Products/Prod.Debug-iphonesimulator/Myappname.app/GoogleService-Info.plist /Users/andersonaddo/myappname/ios/GoogleService-Info.plist (in target 'myappname' from project 'myappname')
cd /Users/andersonaddo/myappname/ios
builtin-copyPlist --convert binary1 --outdir /Users/andersonaddo/myappname/ios/build/myappname/Build/Products/Prod.Debug-iphonesimulator/Biteup.app -- /Users/andersonaddo/myappname/ios/GoogleService-Info.plist
error: Build input file cannot be found: '/Users/andersonaddo/lunchme/ios/GoogleService-Info.plist' (in target 'biteup' from project 'biteup')
Кто-нибудь знает, почему может происходить такое поведение? Если я попытаюсь построить заново после первого сбоя, я не столкнусь с этой проблемой, потому что скопированный файл остается в каталоге ios
с первой попытки.