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)