第一次未调用 Cocoa 自定义 URL 方案选择器

Posted

技术标签:

【中文标题】第一次未调用 Cocoa 自定义 URL 方案选择器【英文标题】:Cocoa Custom URL Scheme selector not called first time 【发布时间】:2012-11-12 10:53:34 【问题描述】:

我正在开发一个注册自定义 URL 方案的 Mac 应用程序。应用程序启动,但没有调用我的选择器方法,因此我无法解析 URL。应用程序启动后,后续的 URL 方案调用会导致调用选择器方法。

我有

[NSAppleEventManager sharedAppleEventManager] setEventHandler:self 
        andSelector:@selector(getUrl:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];

AppDelegate applicationDidFinishLaunching 上,现在将其移至init 方法,但没有任何结果。

关于如何解决它的任何想法?

【问题讨论】:

【参考方案1】:

实际上,将事件处理程序注册移动到init 方法就可以了。在我的例子中,URL 是启动 XCode 归档应用程序而不是新归档的应用程序。

【讨论】:

以上是关于第一次未调用 Cocoa 自定义 URL 方案选择器的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa/Objective C:方法和线程安全

Cordova 无法从 InAppBrowser 调用自定义 URL 方案到同一应用程序

如何从 nib 中修复此“在托管对象上调用选择器 ... 已被 GC'ed”,其中包含未使用的自定义 UITableViewCell?

iOS 10 自定义 URL 方案不再有效

自定义 URL 方案 ios 9

jQuery 自定义选择器,“未定义”