![](/img/trans.png)
[英]Sending Data from a UIWebView back to an iOS Application with a custom URL Scheme breaks with Xcode 8/iOS 10
[英]Impossible to call application (URL Scheme) from UIWebView in iOS 7
有点奇怪的情况。 我们与外部合作伙伴合作,该合作伙伴公开了一个可供用户登录的网页。该网页采用名为returnURL
的参数。 成功登录他们的服务后,将调用returnURL
,在此返回URL的末尾,我们的外部合作伙伴将添加一个令牌,供以后在应用程序中使用。
因为我在iOS中工作,所以我作为应用程序的URL方案作为returnURL,以便登录后网页可以调用它。
因此,它像这样。 他们的网页:
http://www.theirwebpage.com/?param1=x¶m2=y&returnURL=myAppsName://
我在application:openURL:sourceApplication:annotation:
以及application:openURL:sourceApplication:annotation:
显示该网页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到应用程序本身)?
xcode 5.0出现问题。 下载xcode版本5.0.1。 清理所有版本〜/ Library / Developer / Xcode / DerivedData /〜。 重新构建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.