diff --git a/ReactNativeNavigation.podspec b/ReactNativeNavigation.podspec index 0443e6d0024..1777dc62b01 100644 --- a/ReactNativeNavigation.podspec +++ b/ReactNativeNavigation.podspec @@ -15,7 +15,7 @@ Find.find(start_dir) do |path| end end -swift_project = File.exist?(swift_delegate_path) +swift_project = swift_delegate_path && File.exist?(swift_delegate_path) # Debug output if swift_project diff --git a/autolink/postlink/__snapshots__/applicationLinker.test.js.snap b/autolink/postlink/__snapshots__/applicationLinker.test.js.snap index 340498d4567..282f1e5fc7c 100644 --- a/autolink/postlink/__snapshots__/applicationLinker.test.js.snap +++ b/autolink/postlink/__snapshots__/applicationLinker.test.js.snap @@ -8,18 +8,18 @@ import com.facebook.react.PackageList import com.reactnativenavigation.NavigationApplication import com.facebook.react.ReactHost import com.facebook.react.ReactNativeHost -import com.reactnativenavigation.react.NavigationReactNativeHost import com.facebook.react.ReactPackage import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost import com.facebook.react.defaults.DefaultReactNativeHost +import com.reactnativenavigation.react.NavigationReactNativeHost import com.facebook.react.soloader.OpenSourceMergedSoMapping import com.facebook.soloader.SoLoader class MainApplication : NavigationApplication() { override val reactNativeHost: ReactNativeHost = - object : DefaultNavigationReactNativeHost(this) { + object : NavigationReactNativeHost(this) { override fun getPackages(): List = PackageList(this).packages.apply { // Packages that cannot be autolinked yet can be added manually here, for example: diff --git a/autolink/postlink/applicationLinker.js b/autolink/postlink/applicationLinker.js index 3452735de9b..b77d1496487 100644 --- a/autolink/postlink/applicationLinker.js +++ b/autolink/postlink/applicationLinker.js @@ -16,8 +16,8 @@ class ApplicationLinker { if (!this.applicationPath) { errorn( 'MainApplication.kt not found! Does the file exist in the correct folder?\n' + - ' Please check the manual installation docs:\n' + - ' https://wix.github.io/react-native-navigation/docs/installing#3-update-mainapplicationjava' + ' Please check the manual installation docs:\n' + + ' https://wix.github.io/react-native-navigation/docs/installing#3-update-mainapplicationjava' ); } @@ -78,10 +78,7 @@ class ApplicationLinker { if (this._doesExtendApplication(applicationContent)) { debugn(' Extending NavigationApplication'); return applicationContent - .replace( - /:\s*Application\(\)\s*,\s*ReactApplication/gi, - ': NavigationApplication()' - ) + .replace(/:\s*Application\(\)\s*,\s*ReactApplication/gi, ': NavigationApplication()') .replace( 'import com.facebook.react.ReactApplication', 'import com.reactnativenavigation.NavigationApplication' @@ -114,21 +111,21 @@ class ApplicationLinker { return applicationContent; } - if (this._doesExtendReactNativeHost(applicationContent)) { + if (this._doesExtendDefaultReactNativeHost(applicationContent)) { debugn(' Changing host implementation to NavigationReactNativeHost'); return applicationContent - .replace('ReactNativeHost(this)', 'NavigationReactNativeHost(this)') + .replace('DefaultReactNativeHost(this)', 'NavigationReactNativeHost(this)') .replace( - 'import com.facebook.react.ReactNativeHost', - 'import com.facebook.react.ReactNativeHost\nimport com.reactnativenavigation.react.NavigationReactNativeHost' + 'import com.facebook.react.defaults.DefaultReactNativeHost', + 'import com.facebook.react.defaults.DefaultReactNativeHost\nimport com.reactnativenavigation.react.NavigationReactNativeHost' ); - } else if (this._doesExtendDefaultReactNativeHost(applicationContent)) { + } else if (this._doesExtendReactNativeHost(applicationContent)) { debugn(' Changing host implementation to NavigationReactNativeHost'); return applicationContent - .replace('DefaultReactNativeHost(this)', 'NavigationReactNativeHost(this)') + .replace('ReactNativeHost(this)', 'NavigationReactNativeHost(this)') .replace( - 'import com.facebook.react.defaults.DefaultReactNativeHost', - 'import com.facebook.react.defaults.DefaultReactNativeHost\nimport com.reactnativenavigation.react.NavigationReactNativeHost' + 'import com.facebook.react.ReactNativeHost', + 'import com.facebook.react.ReactNativeHost\nimport com.reactnativenavigation.react.NavigationReactNativeHost' ); } @@ -160,7 +157,9 @@ class ApplicationLinker { } _isSOLoaderInitCalled(applicationContent) { - return /SoLoader\.init\(\s*this\s*,\s*OpenSourceMergedSoMapping\s*\);?/.test(applicationContent); + return /SoLoader\.init\(\s*this\s*,\s*OpenSourceMergedSoMapping\s*\);?/.test( + applicationContent + ); } _removeNewArchEntryPointLoad(applicationContent) { @@ -176,7 +175,9 @@ class ApplicationLinker { } _isNewArchEntryPointLoadCalled(applicationContent) { - return /if\s*\(\s*BuildConfig\.IS_NEW_ARCHITECTURE_ENABLED\s*\)\s*\{[\s\S]*?load\(\)\s*[\s}]*?\}/.test(applicationContent); + return /if\s*\(\s*BuildConfig\.IS_NEW_ARCHITECTURE_ENABLED\s*\)\s*\{[\s\S]*?load\(\)\s*[\s}]*?\}/.test( + applicationContent + ); } } diff --git a/playground/ios/playground/AppDelegate.mm b/playground/ios/playground/AppDelegate.mm index 93066d75d06..1b68e1e2a86 100644 --- a/playground/ios/playground/AppDelegate.mm +++ b/playground/ios/playground/AppDelegate.mm @@ -14,6 +14,8 @@ - (BOOL)application:(UIApplication *)application [super application:application didFinishLaunchingWithOptions:launchOptions]; self.dependencyProvider = [RCTAppDependencyProvider new]; + + if (self.bridgelessEnabled) { #ifdef RCT_NEW_ARCH_ENABLED [ReactNativeNavigation