我正在为OSX开发一个应用程序,并且必须在我的应用程序中处理自定义URL处理
<a href="openApp:abc@xyz.com">Open My profile!</a>
应用程序正在运行我可以在
中获取事件 - (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent{
}
但是当应用程序没有运行时它确实来到了AppDidFinishedLaunching,我无法检测它是正常调用还是自定义URL,
App启动时有没有办法检测?
提前致谢
答案 0 :(得分:0)
您应该实现更现代的委托方法-application:didFinishLaunchingWithOptions:
,而不是实现-applicationDidFinishLaunching:
。然后,您可以检查launchOptions
字典并查找密钥UIApplicationLaunchOptionsURLKey
。如果您在字典中找到该密钥,则会启动您的应用以响应自定义网址。 URL本身是与字典中的该键对应的值。
您可以使用相同的方法(当然,查找不同的密钥)来判断您的应用是否是为了响应通知,位置事件等而启动的。