我正在尝试使用UIWebView构建简单Web浏览器的教程。 如果用户只是在没有任何方案的情况下输入地址,那么有一个功能可以将方案“http://”作为前缀加到网址上。对于Ex:google.com中的用户类型而不是http://google.com 这是使用NSURL的scheme属性实现的。 一切都很好,直到地址很简单。
如果地址是这样的:“test1.samplewebsite.com:81” NSURL方案将字符串“test1.samplewebsite.com”检测为方案而不是方案。
这在safari上工作正常,它检测不到任何方案并且及时为http。
添加前缀在开始编写代码来检测方案之前,我想检查一下,有没有用于检测有效方案的系统API?
答案 0 :(得分:0)
不幸的是,在您的示例中,test1.samplewebsite.com
将是符合规范的方案(或者wikipedia said,因为我并不是一个规范读者。)
但您可以使用-[UIApplication canOpenURL:(NSURL *)]
来确定设备是否可以打开给定方案,自定义或其他方式。这是link to UIApplication docs(我希望我可以直接链接到该方法)。