How to get _all_ URL Handlers in Mac OS X?
How to get _all_ URL Handlers in Mac OS X?
- Subject: How to get _all_ URL Handlers in Mac OS X?
- From: Manfred Lippert <email@hidden>
- Date: Sat, 21 Sep 2002 12:54:53 +0200
Hi,
I have an URL and I want to check, if there is a handler application
installed, so that this URL can be opened. I don't want to actually
open the URL! I only want to check if it _could_ be opened, if I wanted
to.
I searched the Cocoa Documentation and I only found the method openURL
of NSWorkspace. But this opens the URL and there is no method to only
check if a URL could be opened.
So I searched Carbon and Internet Config Documentation. In Internet
Config I figured out the following:
- ICParseURL: This function does not check if there is really a handler
for the URL available. It accepts all URLs, also for example
"grmblfjx:something".
- ICLaunchURL: Does the same thing as [NSWorkspace openURL:] - it opens
the URL, but there is no chance to only check if the URL could be
opened.
- I walked throuhg all registered handlers in the preference items of
InternetConfig. Theoretically this would be a solution - but it
actually is not: There are handlers missing! For example: "webcal" is
not listet in the InternetConfig prefs, but the strange thing is, that
ICLaunchURL can open such kind of URLs without a floaw. [NSWorkspace
openURL:] also does the job right.
So it seems that Mac OS X somewhere has another "database" of
registered URL handlers apart from InternetConfig's database.
Does anyone know, if and how I can have access to this database?
Seems like Applications like iCal register as URL handler in its
Info.plist file. Where does the Mac OS store such information? Can I
have access to it?
Thanks for your help,
Mani
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.