I'm having trouble understanding how this method works.
From the documentation, it specifies:
canOpenURL: Returns whether an application can open a given URL resource.
- (BOOL)canOpenURL:(NSURL *)url
Parameters url A URL object that identifies a given resource. The URL’s scheme—possibly a custom scheme—identifies which application can handle the URL.
Return Value NO if no application is available that will accept the URL; otherwise, returns YES.
Discussion This method guarantees that that if openURL: is called, another application will be launched to handle it. It does not guarantee that the full URL is valid.
Availability Available in iPhone OS 3.0 and later. Declared In UIApplication.h
Specifically, if it:
guarantees that that if openURL: is called, another application will be launched to handle it.
Then for example, if I pass in "tel://HELLOWORLD", it returns YES, and when I'm attempting to openUrl, the phone application is not calling it. Nothing happens, so I'm assuming the full url is not valid when attempting to dial the number.
I understand that it does not validate the full URL, but by design, why is it not showing me an error or something if I am unable to dial the number.
Basically what I'm wondering is, what is it exactly validating?
I'm not convinced that it just checks for the handler type and the apps that support that specific handler (tel:// in this case will not work for iPod Touch for example.).