mariodev12 / react-native-netflix

React Native App from my video Course on Youtube
https://www.youtube.com/channel/UCisGMoxaVxJMcbio2FBHORg
831 stars 264 forks source link

Build failed #1

Closed tiendq closed 7 years ago

tiendq commented 7 years ago

Hi,

I just cloned this project and tried to build it but failed, please look at these errors (copied from Terminal window). I have no issue to create a new RN so I think my local environment is fine.

I'm using macOS 10.12.4 and Xcode 8.3.2

Errors:

** BUILD FAILED **

The following build commands failed:

    CompileC build/Build/Intermediates/NetflixApp.build/Debug-iphonesimulator/NetflixApp.build/Objects-normal/x86_64/AppDelegate.o NetflixApp/AppDelegate.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Installing build/Build/Products/Debug-iphonesimulator/NetflixApp.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Failed to install the requested application
The bundle identifier of the application could not be determined.
Ensure that the application's Info.plist contains a value for CFBundleIdentifier.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/NetflixApp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
mariodev12 commented 7 years ago

Thank you, I reproduced your steps and running react-native upgrade inside the project solved this problem. After that, to use a few components you have to run react-native link.

tiendq commented 7 years ago

Thank you, it fixed build issue. I could run the app but found other issues:

  1. Menu items don't work, nothing happen when tapping on an item.

  2. Error on device when tapping on any movie:

undefined is not an object (evaluating 'params.item.details.episodes')

render
    Details.js:81:15
measureLifeCyclePerf
    ReactCompositeComponent.js:64:11
_renderValidatedComponentWithoutOwnerOrContext
    ReactCompositeComponent.js:1207:8
_renderValidatedComponent
    ReactCompositeComponent.js:1237:10
performInitialMount
    ReactCompositeComponent.js:502:24
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
performInitialMount
    ReactCompositeComponent.js:519:6
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
mountChildren
    ReactMultiChild.js:264:10
initializeChildren
    ReactNativeBaseComponent.js:67:41
mountComponent
    ReactNativeBaseComponent.js:169:6
mountComponent
    ReactReconciler.js:58:6
performInitialMount
    ReactCompositeComponent.js:519:6
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
mountChildren
    ReactMultiChild.js:264:10
initializeChildren
    ReactNativeBaseComponent.js:67:41
mountComponent
    ReactNativeBaseComponent.js:169:6
mountComponent
    ReactReconciler.js:58:6
performInitialMount
    ReactCompositeComponent.js:519:6
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
mountChildren
    ReactMultiChild.js:264:10
initializeChildren
    ReactNativeBaseComponent.js:67:41
mountComponent
    ReactNativeBaseComponent.js:169:6
mountComponent
    ReactReconciler.js:58:6
performInitialMount
    ReactCompositeComponent.js:519:6
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
performInitialMount
    ReactCompositeComponent.js:519:6
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
performInitialMount
    ReactCompositeComponent.js:519:6
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
performInitialMount
    ReactCompositeComponent.js:519:6
mountComponent
    ReactCompositeComponent.js:350:8
mountComponent
    ReactReconciler.js:58:6
updateChildren
    ReactChildReconciler.js:165:10
_reconcilerUpdateChildren
    ReactMultiChild.js:212:10
_updateChildren
    ReactMultiChild.js:353:6
updateChildren
    ReactMultiChild.js:339:25
receiveComponent
    ReactNativeBaseComponent.js:119:24
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
updateChildren
    ReactChildReconciler.js:144:10
_reconcilerUpdateChildren
    ReactMultiChild.js:212:10
_updateChildren
    ReactMultiChild.js:353:6
updateChildren
    ReactMultiChild.js:339:25
receiveComponent
    ReactNativeBaseComponent.js:119:24
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
updateChildren
    ReactChildReconciler.js:144:10
_reconcilerUpdateChildren
    ReactMultiChild.js:212:10
_updateChildren
    ReactMultiChild.js:353:6
updateChildren
    ReactMultiChild.js:339:25
receiveComponent
    ReactNativeBaseComponent.js:119:24
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
receiveComponent
    ReactCompositeComponent.js:753:6
receiveComponent
    ReactReconciler.js:159:38
_updateRenderedComponentWithNextElement
    ReactCompositeComponent.js:1129:8
_updateRenderedComponent
    ReactCompositeComponent.js:1100:6
_performComponentUpdate
    ReactCompositeComponent.js:1036:36
updateComponent
    ReactCompositeComponent.js:921:8
performUpdateIfNecessary
    ReactCompositeComponent.js:778:8
performUpdateIfNecessary
    ReactReconciler.js:209:46
runBatchedUpdates
    ReactUpdates.js:150:6
perform
    Transaction.js:149:24
perform
    Transaction.js:149:24
flushBatchedUpdates
    ReactUpdates.js:168:24
closeAll
    Transaction.js:222:29
perform
    Transaction.js:163:24
batchedUpdatesWithControlledComponents
    ReactGenericBatching.js:51:26
_receiveRootNodeIDEvent
    ReactNativeEventEmitter.js:111:40
receiveTouches
    ReactNativeEventEmitter.js:200:8
__callFunction
    MessageQueue.js:244:47
<unknown>
    MessageQueue.js:108:26
guard
    MessageQueue.js:46:4
callFunctionReturnFlushedQueue
    MessageQueue.js:107:10
mariodev12 commented 7 years ago

Hi, Im working on this app while making videos on YouTube, that's why is not 100% complete yet. If you tap Suits or Designated Survivor image you will see more working. I made this for teaching a few concepts on React Native.

tiendq commented 7 years ago

Never mind, thanks :)