Как построить реагирующий нативный проект с помощью cocoapods и рабочей области? - PullRequest
0 голосов
/ 30 января 2019

Перед тем, как установить 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 генерирует его?

Спасибо!

...