Ik ben een nieuw project aan het opzetten met React Native zoals deze tutorial: https://facebook.github.io/react-native/docs/getting-started.html en bouw de iOS-release, maar het werkt niet, het lege witte scherm werd getoond nadat LaunchScreen was uitgevoerd.
De app werkt als deze is ingebouwd in Debug(react-native run-ios) maar werkt niet in Release(build release door Xcode of terminal).
react-native v0.53.0
react-native-cli v2.0.1
knooppunt v8.10.0
Xcode 9.2
Het logboek wordt weergegeven in Xcode:
2018-02-06 15:55:14.464233+0700 MyApp[306:35863] [Toegankelijkheid] **************** GAX Client Bundle laden **** ***********
2561-02-06 15:55:14.697 [error][tid:main][RCTCxxBridge.mm:423] Kan bundel niet laden (file:///var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A -A2ABC9313405/MyApp.app/main.jsbundle) met fout:(Fout bij lezen van bundel /var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A-A2ABC9313405/MyApp.app/main.jsbundle (null))
2018-02-06 15:55:14.706782+0700 Shiip[306:35863] Kan bundel niet laden (file:///var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A-A2ABC9313405/MyApp.app/ main.jsbundle) met fout:(Fout bij lezen van bundel /var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A-A2ABC9313405/MyApp.app/main.jsbundle (null))
Antwoord 1, autoriteit 100%
Ik gebruik veel knooppuntversies, dus de Xcode gebruikt niet de knooppuntversie die ik in mijn Terminal gebruikte, waardoor mijn app-build crashte. Laten we dit doen om mijn probleem op te lossen
Open de scriptopbouwfasen in Xcode:
Gebruik nu exact het knooppuntversiepad (gebruik het commando: welke knooppunt om uw knooppuntversiepad te krijgen)
En mijn probleem was opgelost
Antwoord 2
De reden dat dit gebeurt, is omdat de foutopsporingsmodus wordt uitgevoerd op de javascript-engine van Chrome, terwijl de releasemodus wordt uitgevoerd op de javascript-engine van het apparaat. Sommige javascript-functies die werken op Chrome, werken niet op de engines die mobiele apparaten gebruiken. Zie mdn voor meer informatie. Er moet een js-functie zijn die u gebruikt die niet gedefinieerd is en het witte scherm veroorzaakt.