我已经为我的应用程序注册了一个 URI 方案“测试方案”。我也注册了一个 URL 处理- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
程序 NSAppleEventManager
下面的代码注册 geturl 处理程序
NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self andSelector:@selector(handleGetURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
当我第一次从浏览器打开“testscheme://some parameters”时(当我的应用程序没有运行时),操作系统会打开我的应用程序。
如果我检查命令行参数,我看不到“testscheme://some parameters”作为命令行参数。
但是,如果我在我的应用程序已经运行时打开相同的 url,我会在注册的 GetURL 处理程序中获得 URL NSAppleEventManager
。
我想在第一次启动时通过命令行或 GetURL 处理程序在我的应用程序中获取测试方案 url 参数。
我还检查了 Mail.app,当我mailto:frank@wwdcdemo.example.com
在浏览器中打开正确传递给 Mail.app 的参数时。但是,如果我同时使用ps -ef
Mail.app 检查命令行参数,我看不到除应用程序路径之外的任何参数。
请帮助我。
谢谢并恭祝安康。