文件
mynode/.yarn/patches/react-native-quick-actions-npm-0.3.13-eb0753e0b7.patch
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

57 行
2.5 KiB
Diff

# This patch makes react-native-quick-actions compatible with the iOS UIKit
# scene-based lifecycle. Requires calling `setInitialAction` on app load when
# started from a quick action.
diff --git a/RNQuickAction/RNQuickAction/RNQuickActionManager.h b/RNQuickAction/RNQuickAction/RNQuickActionManager.h
index ad4baad075513115892bd120a278f1ba664480b7..7a366391a48e77d7b08eb2741d2a499a267304b8 100644
--- a/RNQuickAction/RNQuickAction/RNQuickActionManager.h
+++ b/RNQuickAction/RNQuickAction/RNQuickActionManager.h
@@ -10,4 +10,5 @@
@interface RNQuickActionManager : NSObject <RCTBridgeModule>
+(void) onQuickActionPress:(UIApplicationShortcutItem *) shortcutItem completionHandler:(void (^)(BOOL succeeded)) completionHandler;
++(void) setInitialAction:(UIApplicationShortcutItem *) shortcutItem;
@end
diff --git a/RNQuickAction/RNQuickAction/RNQuickActionManager.m b/RNQuickAction/RNQuickAction/RNQuickActionManager.m
index 8db8cab947349763a9c3d9d6004868b675b9c7ef..3217a35634ad457e33756b895b32d80f3fa11178 100644
--- a/RNQuickAction/RNQuickAction/RNQuickActionManager.m
+++ b/RNQuickAction/RNQuickAction/RNQuickActionManager.m
@@ -31,6 +31,7 @@ @implementation RNQuickActionManager
RCT_EXPORT_MODULE();
@synthesize bridge = _bridge;
+UIApplicationShortcutItem *lastInitialAction_ = NULL;
- (instancetype)init
{
@@ -39,6 +40,7 @@ - (instancetype)init
selector:@selector(handleQuickActionPress:)
name:RCTShortcutItemClicked
object:nil];
+ _initialAction = lastInitialAction_;
}
return self;
}
@@ -59,7 +61,9 @@ - (void)dealloc
- (void)setBridge:(RCTBridge *)bridge
{
_bridge = bridge;
- _initialAction = [bridge.launchOptions[UIApplicationLaunchOptionsShortcutItemKey] copy];
+ // Patch: The initial action must now be set through `setInitialAction`:
+ // _initialAction = NULL;
+ // _initialAction = [bridge.launchOptions[UIApplicationLaunchOptionsShortcutItemKey] copy];
}
// Map user passed array of UIApplicationShortcutItem
@@ -155,6 +159,11 @@ + (void)onQuickActionPress:(UIApplicationShortcutItem *) shortcutItem completion
completionHandler(YES);
}
++ (void)setInitialAction:(UIApplicationShortcutItem *) shortcutItem
+{
+ lastInitialAction_ = [shortcutItem copy];
+}
+
- (void)handleQuickActionPress:(NSNotification *) notification
{
[_bridge.eventDispatcher sendDeviceEventWithName:@"quickActionShortcut"