🔧 refactor(MainActivity.java, MainApplication.java): wrap ReactActivityDelegate and ReactNativeHost with Expo wrappers for better Expo compatibility 🔧 refactor(MyAwesomeProject.xcodeproj): update project settings for better compatibility with newer iOS versions and Expo 🔧 refactor(AppDelegate.h): change AppDelegate superclass to EXAppDelegateWrapper for Expo compatibility 🔧 refactor(Podfile): add Expo autolinking and patching, update iOS platform version for Expo compatibility 🔧 refactor(package.json): update Expo and related packages versions for better compatibility and add new Expo related dependencies 🔧 refactor(build.gradle, settings.gradle): update Android build tools and NDK versions, add Expo autolinking for better Expo compatibility
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
 | |
| require_relative '../node_modules/react-native/scripts/react_native_pods'
 | |
| require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
 | |
| 
 | |
| platform :ios, '13.0'
 | |
| prepare_react_native_project!
 | |
| 
 | |
| # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
 | |
| # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
 | |
| #
 | |
| # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
 | |
| # ```js
 | |
| # module.exports = {
 | |
| #   dependencies: {
 | |
| #     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
 | |
| # ```
 | |
| flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
 | |
| 
 | |
| linkage = ENV['USE_FRAMEWORKS']
 | |
| if linkage != nil
 | |
|   Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
 | |
|   use_frameworks! :linkage => linkage.to_sym
 | |
| end
 | |
| 
 | |
| target 'MyAwesomeProject' do
 | |
|   use_expo_modules!
 | |
|   post_integrate do |installer|
 | |
|     begin
 | |
|       expo_patch_react_imports!(installer)
 | |
|     rescue => e
 | |
|       Pod::UI.warn e
 | |
|     end
 | |
|     begin
 | |
|       expo_patch_react_imports!(installer)
 | |
|     rescue => e
 | |
|       Pod::UI.warn e
 | |
|     end
 | |
|   end
 | |
|   config = use_native_modules!
 | |
| 
 | |
|   # Flags change depending on the env values.
 | |
|   flags = get_default_flags()
 | |
| 
 | |
|   use_react_native!(
 | |
|     :path => config[:reactNativePath],
 | |
|     # Hermes is now enabled by default. Disable by setting this flag to false.
 | |
|     # Upcoming versions of React Native may rely on get_default_flags(), but
 | |
|     # we make it explicit here to aid in the React Native upgrade process.
 | |
|     :hermes_enabled => flags[:hermes_enabled],
 | |
|     :fabric_enabled => flags[:fabric_enabled],
 | |
|     # Enables Flipper.
 | |
|     #
 | |
|     # Note that if you have use_frameworks! enabled, Flipper will not work and
 | |
|     # you should disable the next line.
 | |
|     :flipper_configuration => flipper_config,
 | |
|     # An absolute path to your application root.
 | |
|     :app_path => "#{Pod::Config.instance.installation_root}/.."
 | |
|   )
 | |
| 
 | |
|   target 'MyAwesomeProjectTests' do
 | |
|     inherit! :complete
 | |
|     # Pods for testing
 | |
|   end
 | |
| 
 | |
|   post_install do |installer|
 | |
|     react_native_post_install(
 | |
|       installer,
 | |
|       # Set `mac_catalyst_enabled` to `true` in order to apply patches
 | |
|       # necessary for Mac Catalyst builds
 | |
|       :mac_catalyst_enabled => false
 | |
|     )
 | |
|     __apply_Xcode_12_5_M1_post_install_workaround(installer)
 | |
|   end
 | |
| end
 |