gpt4 book ai didi

cocoa - handleGetURLEvent 没有被调用

转载 作者:行者123 更新时间:2023-12-03 16:08:29 25 4
gpt4 key购买 nike

我正在为我的一个应用程序实现自定义 URL 方案,但无法使其正常工作。

我将这些行添加到我的 Info.plist 中:

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>MyApp URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>myscheme</string>
</array>
</dict>
</array>

在我的应用程序委托(delegate)中,我在 ApplicationDidFinishedLaunching 中安装了事件处理程序:

NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self andSelector:@selector(handleGetURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];

但是当我点击带有 URL 的链接时,不会调用该方法,例如。 “myscheme://测试”

- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event
withReplyEvent:(NSAppleEventDescriptor *)replyEvent {

// Extract the URL from the Apple event and handle it here.
NSString* url = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
NSLog(@"%@", url);
}

我错过了什么?

最佳答案

听起来您可能需要清理您的项目。有时,当 Xcode 构建应用程序时,启动服务数据库(处理 URL 关联)不会正确更新。清理项目应该完全删除构建的应用程序,因此下次构建项目时,它会从头开始创建,并在此过程中更新启动服务数据库。

您可能还想尝试将应用复制到 /Applications 文件夹中,这将使启动服务重新解析应用的 Info.plist 文件。

您可以通过在终端中运行以下命令来强制启动服务重建其数据库:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

关于cocoa - handleGetURLEvent 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9289613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com