Skip to content

Commit 23edd91

Browse files
committed
[macos] Update onProtocolUrlReceived event
1 parent 727713e commit 23edd91

File tree

3 files changed

+15
-26
lines changed

3 files changed

+15
-26
lines changed

example/macos/Runner.xcodeproj/project.pbxproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -417,10 +417,10 @@
417417
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
418418
CLANG_ENABLE_MODULES = YES;
419419
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
420-
CODE_SIGN_IDENTITY = "Apple Development";
420+
CODE_SIGN_IDENTITY = "-";
421421
CODE_SIGN_STYLE = Automatic;
422422
COMBINE_HIDPI_IMAGES = YES;
423-
DEVELOPMENT_TEAM = G83H824X6L;
423+
DEVELOPMENT_TEAM = "";
424424
INFOPLIST_FILE = Runner/Info.plist;
425425
LD_RUNPATH_SEARCH_PATHS = (
426426
"$(inherited)",
@@ -545,10 +545,10 @@
545545
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
546546
CLANG_ENABLE_MODULES = YES;
547547
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
548-
CODE_SIGN_IDENTITY = "Apple Development";
548+
CODE_SIGN_IDENTITY = "-";
549549
CODE_SIGN_STYLE = Automatic;
550550
COMBINE_HIDPI_IMAGES = YES;
551-
DEVELOPMENT_TEAM = G83H824X6L;
551+
DEVELOPMENT_TEAM = "";
552552
INFOPLIST_FILE = Runner/Info.plist;
553553
LD_RUNPATH_SEARCH_PATHS = (
554554
"$(inherited)",
@@ -567,10 +567,10 @@
567567
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
568568
CLANG_ENABLE_MODULES = YES;
569569
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
570-
CODE_SIGN_IDENTITY = "Apple Development";
570+
CODE_SIGN_IDENTITY = "-";
571571
CODE_SIGN_STYLE = Automatic;
572572
COMBINE_HIDPI_IMAGES = YES;
573-
DEVELOPMENT_TEAM = G83H824X6L;
573+
DEVELOPMENT_TEAM = "";
574574
INFOPLIST_FILE = Runner/Info.plist;
575575
LD_RUNPATH_SEARCH_PATHS = (
576576
"$(inherited)",

example/macos/Runner/Release.entitlements

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5-
<key>com.apple.developer.associated-domains</key>
6-
<array/>
75
<key>com.apple.security.app-sandbox</key>
86
<true/>
97
</dict>
Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
11
import Cocoa
22
import FlutterMacOS
33

4-
public class ProtocolHandlerPlugin: NSObject, FlutterPlugin, FlutterStreamHandler {
5-
private var _eventSink: FlutterEventSink?
4+
public class ProtocolHandlerPlugin: NSObject, FlutterPlugin {
5+
private var channel: FlutterMethodChannel!
66

77
override init(){
88
super.init();
99
NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(handleURLEvent(_:with:)), forEventClass: AEEventClass(kInternetEventClass), andEventID: AEEventID(kAEGetURL))
1010
}
1111

1212
public static func register(with registrar: FlutterPluginRegistrar) {
13-
let instance = ProtocolHandlerPlugin()
14-
1513
let channel = FlutterMethodChannel(name: "protocol_handler", binaryMessenger: registrar.messenger)
14+
let instance = ProtocolHandlerPlugin()
15+
instance.channel = channel
1616
registrar.addMethodCallDelegate(instance, channel: channel)
17-
18-
let eventChannel = FlutterEventChannel(name: "protocol_handler/events", binaryMessenger: registrar.messenger)
19-
eventChannel.setStreamHandler(instance)
2017
}
2118

2219
@objc
2320
private func handleURLEvent(_ event: NSAppleEventDescriptor, with replyEvent: NSAppleEventDescriptor) {
2421
guard let urlString = event.paramDescriptor(forKeyword: AEKeyword(keyDirectObject))?.stringValue else { return }
25-
_eventSink!(urlString);
22+
23+
let args: NSDictionary = [
24+
"url": urlString,
25+
]
26+
channel.invokeMethod("onProtocolUrlReceived", arguments: args, result: nil)
2627
}
2728

2829
public func application(_ application: NSApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([NSUserActivityRestoring]) -> Void) -> Bool {
@@ -38,14 +39,4 @@ public class ProtocolHandlerPlugin: NSObject, FlutterPlugin, FlutterStreamHandle
3839
result(FlutterMethodNotImplemented)
3940
}
4041
}
41-
42-
public func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) -> FlutterError? {
43-
self._eventSink = events;
44-
return nil
45-
}
46-
47-
public func onCancel(withArguments arguments: Any?) -> FlutterError? {
48-
self._eventSink = nil
49-
return nil
50-
}
5142
}

0 commit comments

Comments
 (0)