【发布时间】:2010-02-23 19:27:53
【问题描述】:
我无法理解此方法的工作原理。
从文档中,它指定:
canOpenURL:返回是否 应用程序可以打开给定的 URL 资源。
- (BOOL)canOpenURL:(NSURL *)url参数 url 一个 URL 对象, 标识给定的资源。网址的 方案——可能是一种习惯 方案——标识哪个应用程序 可以处理 URL。
如果没有应用,则返回 NO 将接受 URL 的可用; 否则,返回 YES。
讨论 这种方法保证了 如果 openURL: 被调用,另一个 将启动应用程序来处理 它。它不保证 完整的 URL 有效。
在 iPhone 操作系统中可用 3.0 及更高版本。在 UIApplication.h 中声明
具体来说,如果是:
保证如果 openURL: 被调用,将启动另一个应用程序来处理它。
例如,如果我传入tel://HELLOWORLD,它会返回YES,而当我尝试openUrl 时,电话应用程序不会调用它。什么都没有发生,所以我假设尝试拨打号码时完整的 url 无效。
我知道它不会验证完整的 URL,但根据设计,如果我无法拨打该号码,为什么它不会向我显示错误或其他内容?
基本上我想知道的是:它确切验证了什么?
我不相信它只是检查处理程序类型和支持该特定处理程序的应用程序(例如,tel:// 在这种情况下不适用于 iPod Touch。)。
【问题讨论】:
标签: iphone iphone-sdk-3.0