![](/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.