Перед тем, как установить Pod и добавить рабочую область в свой собственный реактивный проект, я успешно строю свой проект с помощью этой команды:
xcodebuild -scheme [SchemeName] archive -archivePath ./build/[AppName].xcarchive -allowProvisioningUpdates
Я установил RN Firebase с помощью CocoaPods, и для этого требуетсяxcworkspace для управления пакетами.В соответствии с этим я добавил опцию рабочей области, чтобы позволить xcodebuild находить модули:
-workspace [AppName].xcworkspace
После добавления этой опции сборка не удалась, поскольку она не находит main.jsbundle.
Loading dependency graph, done.
SHA-1 for file /Users/nicolas/development/git/availpro.mobile/index.js is not computed
ReferenceError: SHA-1 for file /Users/nicolas/development/git/availpro.mobile/index.js is not computed
at DependencyGraph.getSha1 (/Users/nicolas/development/git/availpro.mobile/node_modules/metro/src/node-haste/DependencyGraph.js:201:13)
at /Users/nicolas/development/git/availpro.mobile/node_modules/metro/src/DeltaBundler/Transformer.js:164:26
at Generator.next (<anonymous>)
at step (/Users/nicolas/development/git/availpro.mobile/node_modules/metro/src/DeltaBundler/Transformer.js:31:30)
at /Users/nicolas/development/git/availpro.mobile/node_modules/metro/src/DeltaBundler/Transformer.js:50:14
at new Promise (<anonymous>)
at /Users/nicolas/development/git/availpro.mobile/node_modules/metro/src/DeltaBundler/Transformer.js:28:12
at Transformer.transformFile (/Users/nicolas/development/git/availpro.mobile/node_modules/metro/src/DeltaBundler/Transformer.js:188:7)
at /Users/nicolas/development/git/availpro.mobile/node_modules/metro/src/Bundler.js:78:34
at Generator.next (<anonymous>)
+ [[ false != true ]]
+ [[ ! -f /Users/nicolas/Library/Developer/Xcode/DerivedData/AvailproMobile-gewuoxculvshvhehwwobcbkhdzba/Build/Intermediates.noindex/ArchiveIntermediates/AvailproMobile-staging/BuildProductsPath/Release-iphoneos/AvailproMobile.app/main.jsbundle ]]
+ echo 'error: File /Users/nicolas/Library/Developer/Xcode/DerivedData/AvailproMobile-gewuoxculvshvhehwwobcbkhdzba/Build/Intermediates.noindex/ArchiveIntermediates/AvailproMobile-staging/BuildProductsPath/Release-iphoneos/AvailproMobile.app/main.jsbundle does not exist. This must be a bug with'
error: File /Users/nicolas/Library/Developer/Xcode/DerivedData/AvailproMobile-gewuoxculvshvhehwwobcbkhdzba/Build/Intermediates.noindex/ArchiveIntermediates/AvailproMobile-staging/BuildProductsPath/Release-iphoneos/AvailproMobile.app/main.jsbundle does not exist. This must be a bug with
+ echo 'React Native, please report it here: https://github.com/facebook/react-native/issues'
React Native, please report it here: https://github.com/facebook/react-native/issues
+ exit 2
Чтобы быстро решить проблему, я генерирую main.jsbundle вручную перед сборкой xcodebuild:
react-native bundle --entry-file='index.js' --bundle-output='./ios/[AppName]/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'
Это исправление кажется мне взломом, чем реальным решением.
Любой может сказать мне, почему сборкапроект, использующий .xcworkspace, не генерирует main.jsbundle при создании .xcodeproj генерирует его?
Спасибо!