expo-dev-launcher 5.0.10 → 5.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -10,12 +10,17 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 5.0.11 — 2024-11-07
|
|
14
|
+
|
|
15
|
+
_This version does not introduce any user-facing changes._
|
|
16
|
+
|
|
13
17
|
## 5.0.10 — 2024-11-07
|
|
14
18
|
|
|
15
19
|
### 🐛 Bug fixes
|
|
16
20
|
|
|
17
21
|
- [Android] Fixed mutiple reload when pressing `r` in CLI on react-native old architecture mode. ([#32532](https://github.com/expo/expo/pull/32532) by [@kudo](https://github.com/kudo))
|
|
18
22
|
- Fixed build error when `EX_DEV_CLIENT_NETWORK_INSPECTOR` is false. ([#32644](https://github.com/expo/expo/pull/32644) by [@kudo](https://github.com/kudo))
|
|
23
|
+
- [iOS] Fix handling deep links ([#32677](https://github.com/expo/expo/pull/32677) by [@gabrieldonadel](https://github.com/gabrieldonadel))
|
|
19
24
|
|
|
20
25
|
## 5.0.9 — 2024-11-04
|
|
21
26
|
|
package/android/build.gradle
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
@interface EXDevLauncherController ()
|
|
48
48
|
|
|
49
49
|
@property (nonatomic, weak) UIWindow *window;
|
|
50
|
-
@property (nonatomic, weak)
|
|
50
|
+
@property (nonatomic, weak) ExpoDevLauncherReactDelegateHandler * delegate;
|
|
51
51
|
@property (nonatomic, strong) NSDictionary *launchOptions;
|
|
52
52
|
@property (nonatomic, strong) NSURL *sourceUrl;
|
|
53
53
|
@property (nonatomic, assign) BOOL shouldPreferUpdatesInterfaceSourceUrl;
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
|
|
209
209
|
- (NSDictionary<UIApplicationLaunchOptionsKey, NSObject*> *)getLaunchOptions;
|
|
210
210
|
{
|
|
211
|
-
NSMutableDictionary *launchOptions = [self.launchOptions mutableCopy];
|
|
211
|
+
NSMutableDictionary *launchOptions = [self.launchOptions ?: @{} mutableCopy];
|
|
212
212
|
NSURL *deepLink = [self.pendingDeepLinkRegistry consumePendingDeepLink];
|
|
213
213
|
|
|
214
214
|
if (deepLink) {
|
|
@@ -327,6 +327,8 @@
|
|
|
327
327
|
[self _applyUserInterfaceStyle:UIUserInterfaceStyleUnspecified];
|
|
328
328
|
|
|
329
329
|
[self _removeInitModuleObserver];
|
|
330
|
+
// Reset app react host
|
|
331
|
+
[self.delegate destroyReactInstance];
|
|
330
332
|
|
|
331
333
|
_appDelegate.rootViewFactory = [_appDelegate createRCTRootViewFactory];
|
|
332
334
|
|
|
@@ -401,7 +403,7 @@
|
|
|
401
403
|
self.pendingDeepLinkRegistry.pendingDeepLink = url;
|
|
402
404
|
|
|
403
405
|
// cold boot -- need to initialize the dev launcher app RN app to handle the link
|
|
404
|
-
if (
|
|
406
|
+
if (_appDelegate.rootViewFactory.reactHost == nil) {
|
|
405
407
|
[self navigateToLauncher];
|
|
406
408
|
}
|
|
407
409
|
|
|
@@ -605,6 +607,10 @@
|
|
|
605
607
|
|
|
606
608
|
- (BOOL)isAppRunning
|
|
607
609
|
{
|
|
610
|
+
if([_appBridge isProxy]){
|
|
611
|
+
return [self.delegate isReactInstanceValid];
|
|
612
|
+
}
|
|
613
|
+
|
|
608
614
|
return [_appBridge isValid];
|
|
609
615
|
}
|
|
610
616
|
|
|
@@ -5,6 +5,7 @@ import EXUpdatesInterface
|
|
|
5
5
|
|
|
6
6
|
@objc
|
|
7
7
|
public class ExpoDevLauncherReactDelegateHandler: ExpoReactDelegateHandler, EXDevLauncherControllerDelegate {
|
|
8
|
+
private weak var rctAppDelegate: RCTAppDelegate?
|
|
8
9
|
private weak var reactDelegate: ExpoReactDelegate?
|
|
9
10
|
private var launchOptions: [AnyHashable: Any]?
|
|
10
11
|
private var deferredRootView: EXDevLauncherDeferredRCTRootView?
|
|
@@ -36,12 +37,23 @@ public class ExpoDevLauncherReactDelegateHandler: ExpoReactDelegateHandler, EXDe
|
|
|
36
37
|
return self.deferredRootView
|
|
37
38
|
}
|
|
38
39
|
|
|
40
|
+
@objc
|
|
41
|
+
public func isReactInstanceValid() -> Bool {
|
|
42
|
+
return self.rctAppDelegate?.rootViewFactory.value(forKey: "reactHost") != nil
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@objc
|
|
46
|
+
public func destroyReactInstance() {
|
|
47
|
+
self.rctAppDelegate?.rootViewFactory.setValue(nil, forKey: "reactHost")
|
|
48
|
+
}
|
|
49
|
+
|
|
39
50
|
// MARK: EXDevelopmentClientControllerDelegate implementations
|
|
40
51
|
|
|
41
52
|
public func devLauncherController(_ developmentClientController: EXDevLauncherController, didStartWithSuccess success: Bool) {
|
|
42
53
|
guard let rctAppDelegate = (UIApplication.shared.delegate as? RCTAppDelegate) else {
|
|
43
54
|
fatalError("The `UIApplication.shared.delegate` is not a `RCTAppDelegate` instance.")
|
|
44
55
|
}
|
|
56
|
+
self.rctAppDelegate = rctAppDelegate
|
|
45
57
|
|
|
46
58
|
// Reset rctAppDelegate so we can relaunch the app
|
|
47
59
|
if rctAppDelegate.bridgelessEnabled() {
|
|
@@ -54,7 +66,7 @@ public class ExpoDevLauncherReactDelegateHandler: ExpoReactDelegateHandler, EXDe
|
|
|
54
66
|
withBundleURL: developmentClientController.sourceUrl(),
|
|
55
67
|
moduleName: self.rootViewModuleName,
|
|
56
68
|
initialProps: self.rootViewInitialProperties,
|
|
57
|
-
launchOptions:
|
|
69
|
+
launchOptions: developmentClientController.getLaunchOptions()
|
|
58
70
|
)
|
|
59
71
|
developmentClientController.appBridge = RCTBridge.current()
|
|
60
72
|
rootView.backgroundColor = self.deferredRootView?.backgroundColor ?? UIColor.white
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-dev-launcher",
|
|
3
3
|
"title": "Expo Development Launcher",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.11",
|
|
5
5
|
"description": "Pre-release version of the Expo development launcher package for testing.",
|
|
6
6
|
"main": "build/DevLauncher.js",
|
|
7
7
|
"types": "build/DevLauncher.d.ts",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
],
|
|
67
67
|
"testTimeout": 15000
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "9c8be1c4186d8ff93433db9afa3b6a92fc5f7dcc"
|
|
70
70
|
}
|