Upgrading React Native
Presented by Oleg Polyakov
About me
Full Stack Engineer at Citadel with particular passion for mobile and JavaScript
opolyo01@yahoo.com, @opolyo01
Why to upgrade?
Android 64-bit support
Fix devices that have notch with save-area-view
Newer versions of your software not compatible with old RN version
Deprecated UIs FlatList vs ListView
Adding 3rd party libraries that not working with old RN version
Performance Improvements
New APIs that comes with new OS release
react-native upgrade 0.61.0-rc.0
iOS Upgrade Gotchas
The Version of macOs and Xcode
AppDelegate.h and AppDelegate.m
project.pbxproj
AppDelegate
A delegate object is an object that gets notified when the object to which it is connected reaches certain events or states.
The main purpose of AppDelegate is handling special UIApplication states:
application:supportedInterfaceOrientationsForWindow
application:didFinishLaunchingWithOptions
sourceURLForBridge:
application:didRegisterUserNotificationSettings
application:didRegisterForRemoteNotificationsWithDeviceToken
application:didReceiveRemoteNotification
application:didFailToRegisterForRemoteNotificationsWithError
project.pbxproj
project.pbxproj is an important file in the Xcode configuration bundle.
It is responsible for maintaining references to all of the linked files and their groupings, linked frameworks,
and most importantly, the project's build settings.
Easy to upgrade 0.57.1 to 0.59.8
Hard Upgrade 0.57.1 to 0.61.2
Android Upgrade Gotchas
Android App Gotchas
AndroidManifest.xml
MainApplication.java
Android Build Gotchas
BUCK
build.gradle
gradle-wrapper.properties
settings.gradle
Lab
git clone git@github.com:opolyo01/codeCampSample.git
(0.57.8 bootstap App)
git checkout -b step1
(0.57.8 AsyncStorage App)
git checkout -b step2
(0.59.8 iOS App)
git checkout -b step3
(0.59.8 Android App)
git checkout -b step4
(0.59.8 fixes warnings)