无法从iOS 7中的UIWebView调用应用程序(URL Scheme)

时间:2013-10-10 16:14:36

标签: ios uiwebview ios7

有点奇怪的情况。我们与外部合作伙伴合作,该合作伙伴公开了用户可以登录的网页。此网页采用名为returnURL的参数。成功登录其服务后将调用此returnURL,在此返回网址的末尾,我们的外部合作伙伴将添加我们之后可在应用程序中使用的令牌。

因为我在iOS工作,所以作为一个returnURL,我提供了我的应用程序的URL方案,以便网页可以在登录完成后调用它。

所以,就像这样。他们的网页:

http://www.theirwebpage.com/?param1=x&param2=y&returnURL=myAppsName://

我在网页浏览中显示网页,在application:openURL:sourceApplication:annotation:内我有返回的代码,我在其中解析与myAppsName://

一起传递的参数

问题

整个过程在iOS 6上运行正常,因为webview将调用应用程序的URL方案,这将触发application:openURL:sourceApplication:annotation:

但是,在iOS 7中永远不会调用application:openURL:sourceApplication:annotation:方法。看起来更像是webview将自己称为myAppsName://{parameters}然后失败(为了进一步说明,UIWebView调用webView:didFailLoadWithError:NSErrorFailingURLKey内,我们可以找到完整的myAppsName://extraParam1=bar&token=foo)。

iOS 7中是否发生了更改,此类调用(从UIWebView到应用程序本身)不再允许?

1 个答案:

答案 0 :(得分:0)

xcode 5.0的问题。下载xcode版本5.0.1。清理所有构建〜/ Library / Developer / Xcode / DerivedData /〜。再建一次。