无法在iOS 7中从UIWebView调用应用程序(URL方案)

无法在iOS 7中从UIWebView调用应用程序(URL方案),ios,uiwebview,ios7,Ios,Uiwebview,Ios7,有点奇怪的情况。我们与一个外部合作伙伴合作,该合作伙伴公开了一个用户可以登录的网页。此网页采用名为returnURL的参数。成功登录到他们的服务时,将调用此returnURL,在此返回URL末尾,我们的外部合作伙伴将添加一个令牌,我们可以在应用程序中使用该令牌 因为我在iOS中工作,所以作为一个返回URL,我给出了我的应用程序的URL方案,这样当登录完成时,网页可以调用它 所以,事情是这样的。他们的网页: http://www.theirwebpage.com/?param1=x¶m2=

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

因为我在iOS中工作,所以作为一个返回URL,我给出了我的应用程序的URL方案,这样当登录完成时,网页可以调用它

所以,事情是这样的。他们的网页:

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

我在Web视图中显示网页,并在
应用程序: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到应用程序本身)?xcode 5.0存在问题。下载xcode版本5.0.1。清理所有构建~/Library/Developer/Xcode/DerivedData/~。重新构建。

正如您所描述的,它在iOS 7中对我有效,但当UIWebView尝试在自定义URL方案()中加载请求时,我也会遇到一个错误。您确定已根据以下说明在应用程序的plist中注册myAppsName自定义URL方案: